Javascript 从 html 输入中删除“禁用”属性

如何使用 javascript 从 HTML 输入中删除“禁用”属性?

<input id="edit" disabled>

在 onClick 中,我希望我的输入标签不包含“禁用”属性。

292866 次浏览

将元素的 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'

使用输入的 name属性将 disabled设置为 false:

document.myForm.myInputName.disabled = false;

为什么不直接删除这个属性呢?

  1. 香草
  2. JQuery: elem.removeAttr('disabled')
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/

最好的答案是删除 Attribute

element.removeAttribute("disabled");
$("#input-id").attr("disabled", false)