Jsf 2 通过js禁用按钮

Jsf 2 通过js禁用按钮,jsf-2,primefaces,Jsf 2,Primefaces,我需要禁用按钮,以防文本输入值长度小于3 我试图使用js,但按钮并没有被禁用,只是改变了颜色 <p:autoComplete id="ac" value="#{bean.selectedNetCode}" completeMethod="#{bean.complete}" maxlength="3" size="3"

我需要禁用按钮,以防文本输入值长度小于3

我试图使用js,但按钮并没有被禁用,只是改变了颜色

 <p:autoComplete id="ac"
                    value="#{bean.selectedNetCode}" 
                    completeMethod="#{bean.complete}"
                    maxlength="3"
                    size="3"
                    maxResults="10"
                    onkeyup="checkLength(this.value)">
        <p:ajax event="itemSelect" update="genButton" listener="#{bean.handleNetCodeChange}"/>
    </p:autoComplete> 



 function checkLength(value){
      if(value.length <= 2){
      document.getElementById("genButton").disabled = true;
 }

函数校验长度(值){

如果(value.length,您可以定义
p:commandButton
的属性
widgetVar
,这将允许您通过javascript访问组件

那么,你有一些方法可以使用

  • 禁用():禁用按钮
  • 启用():启用按钮

例如:

<p:autoComplete onkeyup="checkLength(this.value)">/>
<p:commandButton widgetVar="myButton" />

function checkLength(value){
     if(value.length <= 2)
         myButton.disable();
}
/>
函数校验长度(值){
if(value.length