繁体   English   中英

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

[英]javascript remove "disabled" attribute from html input

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

<input id="edit" disabled>

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

将元素的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. 香草 JS: elem.removeAttribute('disabled')
  2. jQuery: elem.removeAttr('disabled')

最佳答案只是 removeAttribute

element.removeAttribute("disabled");

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

document.myForm.myInputName.disabled = false;
$("#input-id").attr("disabled", false)
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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM