我有以下代码:
<h:inputText id="test-id" class="test-class"
value="#{testBean.value}">
<a4j:ajax event="change" listener="#{bean.testMethod()}" execute="@this"/>
</h:inputText>
只有在输入字段上有值时才调用方法testMethod()
,即将输入字段的值更改为非空值。但是,如果我删除该值,即删除输入字段上的值并将该框保留为空,则testMethod()
不会触发。现在我得到这是由于验证。
我尝试将immediate=true
添加到a4j:ajax
,当输入发生变化时(甚至从值变为空),该方法会以这种方式调用,但是这是一个问题。如果该框从一个值变为空,则在支持bean testBean.value
上它仍然具有前一个值,然后才为空。在此之后,让我们说我在输入框中添加一个值,因此它从空白变为有值,testBean.value
为空。所以它总是落后一步。
我可以做什么,所以当从一个值变为空时反向调用该方法并且在反向bean上包含最新的输入值?