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

时间:2012-07-30 10:49:39

标签: javascript input attributes

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

<input id="edit" disabled>

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

5 个答案:

答案 0 :(得分:158)

将元素的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 :(得分:25)

为什么不删除该属性?

  1. vanilla JS:elem.removeAttribute('disabled')
  2. jQuery:elem.removeAttr('disabled')

答案 2 :(得分:2)

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

document.myForm.myInputName.disabled = false;

答案 3 :(得分:2)

最佳答案就是removeAttribute

element.removeAttribute("disabled");

答案 4 :(得分: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/