h:inputText 上的条件键控侦听器



我正在使用 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;
}

相关内容

  • 没有找到相关文章

最新更新