2012-10-04 110 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(); 
}