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

IT技术 javascript input attributes
2021-02-09 01:06:22

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

<input id="edit" disabled>

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

5个回答

将元素的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例如,可以用表单替换Where以仅查找该表单内的元素。您还可以使用getElementsByTagName('input')来获取所有输入元素。在您的for迭代中,您必须检查inputs[i].type == 'text'.

是的,它有效,但我有很多输入需要做同样的事情。这有什么捷径可走吗?这是可能的 ('id1', 'id2', 'id3') 吗?
2021-03-18 01:06:22
是的,它有效!谢谢。顺便说一下, geElementsBy 有一个拼写错误。我以为这行不通:)
2021-04-06 01:06:22

为什么不删除该属性?

  1. 香草JS: elem.removeAttribute('disabled')
  2. jQuery: elem.removeAttr('disabled')
@MarCrazynessremoveAttribute似乎在 IE11 中受支持。它被标记为unknown我可以使用,所以我只是打开IE并检查它是否有效。确实如此。
2021-03-20 01:06:22
jQuery("#success").removeAttr("disabled"); - 这对我有用,谢谢!
2021-03-29 01:06:22
vanilla js,IE 不支持 removeAttribute。
2021-04-09 01:06:22

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

document.myForm.myInputName.disabled = false;

最佳答案是 removeAttribute

element.removeAttribute("disabled");
在 firefox 中,正如现在(2020 年)一样,disabled 属性处于活动状态,尽管它被设置为 false。firefox 只是在寻找属性本身。所以最好的解决方案是为 Firefox 添加或删除它,这当然适用于所有主要浏览器。
2021-04-07 01:06:22
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/

您只是因为不知道如何阅读答案而拒绝了这一点?方法 1 来自 David Hedlund 响应,方法 2 来自 Dragos Rusu 响应。一旦某个元素被禁用,该特定元素上的“onclick”将不再在内联模式下工作(我没有测试外部 js 模式)。唯一的方法是模拟“禁用”是使用 readonly 属性和一些 css 的一些解决方法。或者制作一个外部“onclick”元素,比如一个按钮,它将使用方法 1 和 2 启用输入(当然可以工作)。
2021-03-28 01:06:22
这两个不适合我。 method 1 <input type="text" onclick="this.disabled=false;" disabled> <hr> method 2 <input type="text" onclick="this.removeAttribute('disabled');" disabled>
2021-04-09 01:06:22