我正在使用 JSF,我想在 InputText 元素的键控事件上调用侦听器,但前提是输入文本超过 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
时调用,在其他情况下会忽略侦听器?
你可以简单地使用一个JavaScript函数,它只返回true,因此在匹配所需条件时触发侦听器。
<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;
}