だから私はこのようなボタンを持っています:
<input id="Button" type="button" value="+" style="background-color:grey" onclick="Me();"/>
必要なときに無効にしたり有効にしたりするにはどうすればよいですか? 試してみdisabled="disable"
ましたが、有効に戻すのは問題です。false に戻そうとしましたが、有効になりませんでした。
だから私はこのようなボタンを持っています:
<input id="Button" type="button" value="+" style="background-color:grey" onclick="Me();"/>
必要なときに無効にしたり有効にしたりするにはどうすればよいですか? 試してみdisabled="disable"
ましたが、有効に戻すのは問題です。false に戻そうとしましたが、有効になりませんでした。
HTML ボタンの無効化
document.getElementById("Button").disabled = true;
HTML ボタンの有効化
document.getElementById("Button").disabled = false;
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()
メソッドを使用してください。
そもそも無効にしているので、有効にする方法は、その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="" />
属性を完全に削除するか、そのプロパティを設定する必要があります。
これは、ライブラリを必要とせず、ストレートな JavaScript だけでかなり簡単に実行できます。
ボタンを有効にする
document.getElementById("Button").disabled=false;
ボタンを無効にする
document.getElementById("Button").disabled=true;
外部ライブラリは必要ありません。
disable 属性にはパラメータが 1 つしかありません。再度有効にしたい場合は、値を変更するだけでなく、すべてを削除する必要があります。
質問とは直接関係ありませんが、典型的な入力要素以外のものを無効にするためにこの質問に飛びつくbutton, input, textarea
と、構文は機能しません。
div またはスパンを無効にするには、setAttributeを使用します。
document.querySelector('#somedivorspan').setAttribute('disabled', true);
PS: おっと、無効にする場合にのみこれを呼び出してください。Chrome バージョン 83 のバグにより、2 番目のパラメーターが false の場合でも、これが常に無効になります。
PHPに固執する...
上記の基準が満たされると、ボタンの表示を許可しないのはなぜですか。
<?
if (whatever == something) {
$display = '<input id="Button" type="button" value="+" style="background-color:grey" onclick="Me();"/>';
return $display;
}
?>