h:inputText上的条件键盘监听器?

时间:2018-03-08 09:50:04

标签: ajax jsf listener keyup

我正在使用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时调用,在其他情况下会忽略侦听器?

1 个答案:

答案 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;
}