15

我想知道如何在提交时启用禁用的表单文本字段。另外我想确保用户返回表单或单击重置字段将再次显示为禁用。

我试着用

document.pizza.field07.disabled = false ;

它确实禁用了该字段,通过单击重置或点击返回按钮仍然保持启用状态。

请指导。

4

5 回答 5

18

要以更标准的方式访问此元素,请使用document.getElementByIdsetAttribute

document.getElementById("field07").setAttribute("disabled", false);

编辑

根据您的评论,看起来 field07 是name,而不是 id。因此,这应该是您想要的:

var allfield7s = document.getElementsByName("field07");
for (var i = 0; i < allfield7s.length; i++)
    allfield7s[i].setAttribute("disabled", false);
于 2011-12-13T04:07:34.620 回答
11

这是我唯一可行的解​​决方案:

var allfield7s = document.getElementsByName("field07");
for (var i = 0; i < allfield7s.length; i++)
    allfield7s[i].removeAttribute("disabled");
于 2013-12-21T16:11:40.377 回答
8

您可以使用以下 JavaScript 代码启用禁用的 html 控件。

document.getElementById('elementId').removeAttribute('disabled');

于 2014-07-07T14:08:09.380 回答
2

你也可以用jQuery做到这一点:

$(function(){
    $("[name='field07']").prop("disabled", false);
});

我们只需选择name属性所在的所有元素field07(使用名称,因为您在@AdamRackis's answer的评论中这么说)并将其disabled属性设置为false.

更多关于prop().

于 2011-12-13T04:43:36.940 回答
1

您可以使用以下代码的帮助启用禁用的 html 控件(如输入、文本区域、按钮等)。

要禁用:

document.getElementById("id_name").setAttribute("disabled", true);

启用:

document.getElementById('id_name').removeAttribute('disabled');
于 2020-07-28T10:17:26.147 回答