我正在使用JSF,我想在InputText元素的keyup事件上调用一个监听器,但前提是输入文本长于3个字符。
我的代码是:
<h:inputText id="myId" styleClass="iceInpTxt uppercase" maxlength="15"
value="#{controller.model.value}">
<f:ajax event="keyup" listener="#{controller.listener}" render="anotherElement"/>
</h:inputText>
现在我在听众中检查文本的长度,工作得很好但是慢慢来。
是否有一种解决方法,如条件侦听器,仅在inputText.length() > 3
时调用,在其他情况下会忽略侦听器?
答案 0 :(得分:2)
你可以简单地使用只返回true的javascript函数,因此如果匹配了所需条件,则触发侦听器。
<h:inputText id="myId"
onkeyup="return checkLength(this)"
styleClass="iceInpTxt uppercase" maxlength="15"
value="#{controller.model.value}">
<f:ajax event="keyup" listener="#{controller.listener}" render="anotherElement"/>
</h:inputText>
的javascript:
function checkLength(value){
return value.length > 3;
}