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

理由はありますか?

ありがとう

4

1 に答える 1

7

widgetVarの属性を定義するp:commandButtonと、javascript を介してコンポーネントにアクセスできるようになります。

次に、いくつかのメソッドを自由に使用できます。PrimeFaces 3.4 ドキュメントから:

  • disable(): ボタンを無効にします
  • enable(): ボタンを有効にします

例:

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

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

更新 07/2021 :

コメントで dian jin が指摘したように、PimeFaces 4.0 から 5.0 を使用する場合は、PF('myButton').disable();widgetVar を適切に参照するために呼び出す必要があります。

于 2012-10-04T15:13:47.140 に答える