我的屏幕上有一个输入文本框和一个按钮。我想只在输入Text有一些值时启用按钮。我已经实现了以下代码,当我输入一些值并启用按钮时它正常工作。但是当我从输入文本中删除字符串时没有进行ajax调用,因此即使我没有任何值,也会启用按钮。
我尝试的代码是
<h:inputText id="inputText" value="#{bean.value1}" label="Value1" required="true"
requiredMessage="value is empty" class="form-control">
<f:ajax event="keyup" render="clearButton"></f:ajax>
</h:inputText>
答案 0 :(得分:3)
尝试此代码时没有必要的真实
<h:inputText id="inputText" value="#{bean.value1}" label="Value1" class="form-control">
<f:ajax event="keyup" render="clearButton"></f:ajax>
</h:inputText>
如果这解决了您的问题,您可以在http://docs.oracle.com/javaee/1.4/tutorial/doc/JSFIntro10.html
中查看更多相关信息这是JSF生命周期的一个问题,当你设置所需的类似true并且输入没有值时,你的方法永远不会被调用。
此外,您可以尝试立即标记,以忽略验证阶段。