12

ページに 2 つの異なるボタンがあります。ページの読み込み時に両方を有効にしたいのですが、ユーザーが一方をクリックすると、もう一方のボタンを無効にしたいと思います。しかし、他のボタンをクリックすると、他の無効なボタンを有効にしながら、そのボタンも無効にしたいと思います。ボタン onclick を無効にすることはできましたが、他のボタンを再度有効にするのに問題があります。ページにある 2 つのボタンを次に示します。それらはフォームではなく、ページ上にあるだけです。

<button onclick="down7913.disabled=false" type="submit" class="positive" name="up7913"><img src="check.png" alt=""/></button>

<button onclick="this.disabled=true" type="submit" class="negative" name="down7913"><img src="cross.png" alt=""/></button>
4

4 に答える 4

24

このコードを確認してください。それはあなたの好みで動作しています:

コードスニペット -

<button
    onclick="this.disabled=true;document.getElementById('down7913').disabled=false;"
    type="submit"
    class="positive"
    name="up7913"
    id="up7913"
  >
    First
  </button>

  <button
    onclick="this.disabled=true;document.getElementById('up7913').disabled=false;"
    type="submit"
    class="negative"
    name="down7913"
    id="down7913"
  >
    Second
  </button>

于 2012-06-20T04:06:25.827 に答える
3

関数を書く必要があります:

function disablefirstbutton() {
    document.getElementById("firstbutton").disabled = true;
    document.getElementById("secondbutton").disabled = false;
}

function disablesecondbutton() {
    document.getElementById("secondbutton").disabled = true;
    document.getElementById("firstbutton").disabled = false;
}

<button id="firstbutton" onclick="disablefirstbutton()">
<button id="secondbutton" onclick="disablesecondbutton()">
于 2012-06-20T03:55:53.170 に答える
1

jQuery を使用してもかまわない場合は、こちらです。

$(function() {
    $('button').click(function() {
        var classname = $(this).attr('class');

        if(classname == 'positive')
        { 
            $('button.positive').attr('disabled', 'disabled');
            $('button.negative').attr('disabled', false);
        }
        else
        {
            $('button.negative').attr('disabled', 'disabled');
            $('button.positive').attr('disabled', false);
        }
    });
});
于 2012-06-20T04:13:14.433 に答える
0

次のようなものを試すことができます:

onclick="document.getElementsByClassName('negative')[0].disabled=false"

これは純粋な JavaScript であり、すべてのクラスのdocument.getElementsByClassName('negative')が返されることに注意してください。array1つしかない場合は、私が書いたように機能します。そうでない場合は、ID を追加して使用しますdocument.getElementById('buttonId').disabled=false

于 2012-06-20T03:57:24.760 に答える