web-gelistirme-sc.com

javascript html girişinden "disabled" özelliğini kaldırdı

Javascript kullanarak "disabled" özelliğini bir HTML girişinden nasıl kaldırabilirim?

<input id="edit" disabled>

onClick'de giriş etiketimin "disabled" özelliğinden oluşmamasını istiyorum.

74
Jam Ville

Elemanın disabled özelliğini false olarak ayarlayın:

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

JQuery kullanıyorsanız, eşdeğer olacaktır:

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

Birkaç giriş alanı için bunlara sınıfa erişebilirsiniz:

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

document, örneğin yalnızca bu formun içindeki öğeleri bulmak için bir formla değiştirilebilir. Tüm giriş öğelerini almak için getElementsByTagName('input') öğesini de kullanabilirsiniz. for yinelemenizde, o zaman inputs[i].type == 'text' öğelerini kontrol etmeniz gerekir.

164
David Hedlund

Neden sadece bu özniteliği kaldırmıyorsunuz?

  1. Vanilla JS: elem.removeAttribute('disabled')
  2. jQuery: elem.removeAttr('disabled')
26
Dragos Rusu

Girişin disabled özelliğini kullanarak name değerini false olarak ayarlamak için:

document.myForm.myInputName.disabled = false;
2
Henry Hedden
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>

önceki cevapların kodu satır içi modda çalışmıyor gibi görünüyor, ancak bir geçici çözüm var: yöntem 3.

demoya bakın https://jsfiddle.net/eliz82/xqzccdfg/

0
eliz82