322

だから私はこのようなボタンを持っています:

<input id="Button" type="button" value="+" style="background-color:grey" onclick="Me();"/>

必要なときに無効にしたり有効にしたりするにはどうすればよいですか? 試してみdisabled="disable"ましたが、有効に戻すのは問題です。false に戻そうとしましたが、有効になりませんでした。

4

12 に答える 12

596

Javascript の使用

  • HTML ボタンの無効化

    document.getElementById("Button").disabled = true;
    
  • HTML ボタンの有効化

    document.getElementById("Button").disabled = false;
    
  • デモはこちら


jQuery の使用

1.6 より前のすべてのバージョンの jQuery

  • HTML ボタンの無効化

    $('#Button').attr('disabled','disabled');
    
  • HTML ボタンの有効化

    $('#Button').removeAttr('disabled');
    
  • デモはこちら

1.6 以降のすべてのバージョンの jQuery

  • HTML ボタンの無効化

    $('#Button').prop('disabled', true);
    
  • HTML ボタンの有効化

    $('#Button').prop('disabled', false);
    
  • デモはこちら

PS jquery 1.6.1 の変更に基づいてコードを更新しました。提案として、常に最新の jquery ファイルとprop()メソッドを使用してください。

于 2012-12-12T02:16:20.727 に答える
31

そもそも無効にしているので、有効にする方法は、そのdisabledプロパティを として設定することですfalse

Javascript でプロパティを変更するdisabledには、次のようにします。

var btn = document.getElementById("Button");
btn.disabled = false;

そして明らかにそれを再び無効にするには、true代わりに使用します。

質問にもjQueryのタグを付けたので、メソッドを使用できます.prop。何かのようなもの:

var btn = $("#Button");
btn.prop("disabled", true);   // Or `false`

これは、jQuery の新しいバージョンにあります。これを行う古い方法は、次のように属性を追加または削除することです。

var btn = $("#Button");
btn.attr("disabled", "disabled");
// or
btn.removeAttr("disabled");

プロパティが存在するだけでdisabled要素が無効になるため、その値を「false」に設定することはできません。以下でも要素を無効にする必要があります

<input type="button" value="Submit" disabled="" />

属性を完全に削除するか、そのプロパティを設定する必要があります

于 2012-12-12T01:58:26.117 に答える
12

これは、ライブラリを必要とせず、ストレートな JavaScript だけでかなり簡単に実行できます。

ボタンを有効にする

document.getElementById("Button").disabled=false;

ボタンを無効にする

 document.getElementById("Button").disabled=true;

外部ライブラリは必要ありません。

于 2015-04-17T21:42:55.873 に答える
4

disable 属性にはパラメータが 1 つしかありません。再度有効にしたい場合は、値を変更するだけでなく、すべてを削除する必要があります。

于 2012-12-12T01:59:12.543 に答える
0

質問とは直接関係ありませんが、典型的な入力要素以外のものを無効にするためにこの質問に飛びつくbutton, input, textareaと、構文は機能しません。

div またはスパンを無効にするには、setAttributeを使用します。

document.querySelector('#somedivorspan').setAttribute('disabled', true);

PS: おっと、無効にする場合にのみこれを呼び出してください。Chrome バージョン 83 のバグにより、2 番目のパラメーターが false の場合でも、これが常に無効になります。

于 2020-06-26T10:23:22.650 に答える
-7

PHPに固執する...

上記の基準が満たされると、ボタンの表示を許可しないのはなぜですか。

<?
if (whatever == something) {
    $display = '<input id="Button" type="button" value="+" style="background-color:grey" onclick="Me();"/>';
    return $display;
}
?>
于 2018-03-31T14:39:02.263 に答える