我有一个文本框。只要用户在文本框外单击,下面的代码就会调用doSomethingOnValueChange。事情按预期工作。另一方面,如果用户编辑我的文本框并直接点击保存,save方法将首先被调用,doSomethingOnValueChange被稍后调用。我怎样才能解决这个问题?JSF onchange然后保存
<ui:define name="label">My Text box</ui:define>
<h:inputText required="true" value="#{myBean.myTextBox}"
immediate="true" valueChangeListener="#{controller.doSomethingOnValueChange}">
<a4j:support ajaxSingle="true" event="onchange" />
</h:inputText>
<h:commandButton value="Save" action="#{controller.save}" />
如果你立即摆脱了会发生什么? – wrschneider 2011-12-17 00:34:27
摆脱立即=真并没有帮助。 – user238021 2011-12-17 00:57:07
使用此构造,当您立即按下按钮时,应该调用值更改侦听器两次。一次由botton发起同步请求,一次由change事件触发ajax。它真的只被调用过一次吗? – BalusC 2011-12-17 12:08:56