JavaScriptはHTML入力から「無効」属性を削除します


100

JavaScriptを使用してHTML入力から「無効」属性を削除するにはどうすればよいですか?

<input id="edit" disabled>

onClickで、「無効」属性で構成されないように入力タグを設定します。


チェックボックスがオフの場合に送信ボタンを無効にするにはどうすればよいですか?重複しているのは、その質問がトグルする方法を説明しているため、ここで尋ねられるように有効化および無効化する方法を説明しているためです
Ciro Santilli郝海东冠状病六四事件法轮功

回答:


198

要素のdisabledプロパティをfalseに設定します。

document.getElementById('my-input-id').disabled = false;

jQueryを使用している場合、同等のものは次のようになります。

$('#my-input-id').prop('disabled', false);

いくつかの入力フィールドでは、代わりにクラスでそれらにアクセスできます:

var inputs = document.getElementsByClassName('my-input-class');
for(var i = 0; i < inputs.length; i++) {
    inputs[i].disabled = false;
}

どこでdocumentそのフォーム内の要素だけを見つけるために、例えば、フォームに置き換えることができます。を使用getElementsByTagName('input')して、すべての入力要素を取得することもできます。あなたにはfor、反復、あなたはそのをチェックする必要があると思いますinputs[i].type == 'text'


1
はい、動作しますが、同じことをするために多くの入力が必要でした。これのショートカットはありますか?これは可能ですか( 'id1'、 'id2'、 'id3')?
Jam Ville

1
はい、うまくいきます!ありがとう。ちなみにgeElementsByにタイプミスがあります。私はそれはうまくいかないだろうと思った:)
Jam Ville

34

なぜその属性を削除しないのですか?

  1. バニラJS: elem.removeAttribute('disabled')
  2. jQuery: elem.removeAttr('disabled')

1
jQuery("#success").removeAttr("disabled");-これでうまくいきます、ありがとう!
aftamat4ik

バニラjs、removeAttributeはIEではサポートされていません。
MarCrazyness

@MarCrazyness removeAttributeはIE11 でサポートされているようです。unknown使用できるとマークされているので、IEを開いて動作するかどうかを確認しました。します。
Artur


1

最良の答えはremoveAttributeだけです

element.removeAttribute("disabled");

fireadsでは、nowadys(2020)のように、disabled属性がfalseに設定されている間はアクティブになります。firefoxは属性そのものを探しています。したがって、Firefox用に追加または削除するのが最善の解決策です。もちろん、これはすべての主要ブラウザで機能します。
Raffael Meier

0
method 1 <input type="text" onclick="this.disabled=false;" disabled>
<hr>
method 2 <input type="text" onclick="this.removeAttribute('disabled');" disabled>
<hr>
method 3 <input type="text" onclick="this.removeAttribute('readonly');" readonly>

以前の回答のコードはインラインモードでは機能しないようですが、回避策があります。方法3。

デモを参照してくださいhttps://jsfiddle.net/eliz82/xqzccdfg/


この2つは私には役に立たない。method 1 <input type="text" onclick="this.disabled=false;" disabled> <hr> method 2 <input type="text" onclick="this.removeAttribute('disabled');" disabled>
Ambal Mani 2017

1
回答の読み方が適切にわからないという理由だけでこれに反対票を投じましたか?方法1はDavid Hedlund応答から、方法2はDragos Rusu応答からです。要素が無効になると、その特定の要素の「onclick」はインラインモードでは機能しなくなります(外部のjsモードはテストしていません)。「無効」をシミュレートする唯一の方法は、readonly属性と一部のcssを使用する少しの回避策です。または、メソッド1と2を使用して入力を有効にするボタンのような外部の「onclick」要素を作成します(これはもちろん機能します)。
crisc82 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.