0

私はすでに自分の質問の解決策を検索しており、これを見つけました: (jsfiddle の解決策) .ただし、ラジオ ボタンの代わりに 3 つの異なるテキスト入力があり、その方法がわかりません。誰か助けてくれませんか?前もって感謝します。

HTML コード

<form action="/echo/json/1">
    <input type="submit" id="button1" value="Button 1" class="buttonGroupDependent" disabled/>
</form>
<form action="/echo/json/2">
    <input type="submit" id="button2" value="Button 2" class="buttonGroupDependent" disabled/>
</form>
<form action="/echo/json/3">
    <input type="submit" id="button3" value="Button 3" class="buttonGroupDependent" disabled/>
</form>

JS コード

$(document).ready(function(){
    $('input[name=buttonGroup]').change(function(){
        $('input.buttonGroupDependent').attr('disabled', true);
        $('#' + $(this).data().trigger).attr('disabled', false);
    });
});
4

3 に答える 3

0

(編集: 投稿の下部を参照) イベントを使用onchangeして、テキスト ボックスの値の変更に応答します。送信ボタンをデフォルトで無効にします。

このようなもの:

<form>
     <input type="text" id="text1" />
     <input type="submit" id="button1" />
</form>
<form>
     <input type="text" id="text2" />
     <input type="submit" id="button2" />
</form>    <form>
     <input type="text" id="text3" />
     <input type="submit" id="button3" />
</form>

JS:

$("#text1").on('keyup', function() {
    if($(this).val() === '') {
        $("#button1").attr("disabled", "disabled");
    } else {
        $("#button1").removeAttr("disabled");
    }
});
// repeat for other two

本当に派手にしたい場合は、次のようにクラスといくつかの id 解析を使用できます。

$(".required").on('keyup', function() {
    if($(this).val() === '') {
        $("#button" + $(this).attr('id').substr(-1)).attr("disabled", "disabled");
    } else {
        $("#button" + $(this).attr('id').substr(-1)).removeAttr("disabled");
    }
});

EDIT:changeテキストボックスを離れたときにのみ発火しているようです。前にこのイベントを使用したことがありません。おそらくそれが典型的です。私の作業バージョンのjsFiddle:http://jsfiddle.net/64DC3/2/

編集: OP の要求により追加: 2 番目の JS メソッドの HTML。

<form action="/echo/json/1">
    <input type="text" class="required" id="text1" />
    <input type="submit" id="button1" value="Button 1" disabled/>
</form>
<form action="/echo/json/2">
    <input type="text" class="required" id="text2" />
    <input type="submit" id="button2" value="Button 2" disabled/>
</form>
<form action="/echo/json/3">
    <input type="text" class="required" id="text3" />
    <input type="submit" id="button3" value="Button 3" disabled/>
</form>
于 2013-07-14T04:24:55.497 に答える
0

あなたはこれを試すことができます

$(document).ready(function(){
    $("input[type='text']").on('change', function(){
        if(this.value.length) $(this).closest('form').find('.buttonGroupDependent').attr('disabled', false);
        else $(this).closest('form').find('.buttonGroupDependent').attr('disabled', true);
    });
});

デモ。

于 2013-07-14T04:26:17.173 に答える