通过js禁用按钮

时间:2012-10-04 15:01:35

标签: jsf-2 primefaces

我需要在文本输入值长度小于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;
 }

知道为什么吗?

由于

1 个答案:

答案 0 :(得分:5)

您可以定义widgetVar的属性p:commandButton,这样您就可以通过javascript访问该组件。

然后,您可以使用一些方法。 From PrimeFaces 3.4 Documentation

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

示例:

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

function checkLength(value){
     if(value.length <= 2)
         myButton.disable();
}