1

タイトルが示すように、テキスト ボックスにテキストがない限り無効にしたいフォームの送信ボタンがあります。フィールドは適切に無効になっていますが、テキストが入力されると、送信は無効のままになります。

HTMLは次のとおりです。

<form method="get" action="#">
    <input type="text" id="edit-combine" name="combined"/>
    <input type="submit" id="edit-submit-clone-of-combined-search" value="search"/>
</form>

ここにjqueryがあります:

 if($('#edit-combine').val().length == 0){
            $('#edit-submit-clone-of-combined-search').prop("disabled", true);
    }else{
        $('#edit-submit-clone-of-combined-search').prop("disabled", false);
    }

私はこれのために JSFiddle を作りました: http://jsfiddle.net/CR47/ZUmCp/

4

2 に答える 2

5

残念ながら、HTML/Js はあなたの意図を知りません。そのため、テキスト ボックスにバインドされたイベント ハンドラー (この場合は keyup イベントのようなもの) にロジックをアタッチして、それらを支援する必要があります。

$('#edit-combine').on("keyup", function () {
      $('#edit-submit-clone-of-combined-search')
                    .prop("disabled", 
                            $('#edit-combine').val().length == 0);
}).keyup();

デモ

一見の価値あり:

キーアップ

変化する

于 2013-06-09T03:20:22.617 に答える
0

あなたの開始状態は、テキストボックス内のテキストの存在によって異なります。その後、テキスト ボックス内のテキストの存在に応じて状態を変更することで、テキスト ボックスの変更イベントに応答できます。コードをテキストボックスの変更イベントに添付できていません。

ユーザーがマウスを使用してテキストボックスに値を貼り付けることができるため、他のポスターが言ったように、キーアップイベントに応答しないでください。変更イベントに対応すれば、すべてが最善の状態になります。私を信じてください、私はプロです:)

于 2013-06-09T03:21:05.163 に答える