2012-10-04 68 views
2

我需要禁用按钮的情况下,文本输入值长度小于3禁用按钮,通过JS

我试图用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; 
} 

任何想法为什么?

感谢

回答

5

您可以定义属性的p:commandButtonwidgetVar,并且会给你通过JavaScript访问该组件。

然后,你有一些方法可供选择。 From PrimeFaces 3.4 Documentation

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

实施例:

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

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