【问题标题】:How to enable a disabled text field?如何启用禁用的文本字段?
【发布时间】:2020-07-28 19:05:55
【问题描述】:

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

我尝试使用

document.pizza.field07.disabled = false ;

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

请指导。

【问题讨论】:

    标签: javascript html forms validation onsubmit


    【解决方案1】:

    要以更标准的方式访问此元素,请使用 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);
    

    【讨论】:

    • 我试过 'this:document.getElementsByName("field07").setAttribute("disabled", false);'但它不起作用.... field07 是名称...
    • 别管bug的setAttribute,直接设置属性:allfield7s[i].disabled = false;
    • @Rob - 我认为 setAttribute 得到了广泛的支持?
    • @AdamRackis:被广泛支持,但属性更简单,就像标准一样,支持更好,可读性更强。
    • @AdamRackis — 它得到了广泛的支持,但实现不一致。谷歌“javascript setattribute 问题 IE”。
    【解决方案2】:

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

    var allfield7s = document.getElementsByName("field07");
    for (var i = 0; i < allfield7s.length; i++)
        allfield7s[i].removeAttribute("disabled");
    

    【讨论】:

    • 这是最好的答案。根据接受的答案将 disabled 设置为 false 只会将属性更改为“disabled = false”,并且元素将保持禁用状态。
    【解决方案3】:

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

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

    【讨论】:

    • 能否添加相关文档的链接?
    【解决方案4】:

    您也可以使用jQuery

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

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

    更多关于prop()

    【讨论】:

    • 虽然这可行,但我否决了它,因为不需要使用第三方库来更改元素的属性值。
    【解决方案5】:

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

    禁用:

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

    启用:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-25
      • 1970-01-01
      • 2013-07-24
      • 1970-01-01
      • 2021-07-27
      • 1970-01-01
      • 1970-01-01
      • 2014-01-06
      相关资源
      最近更新 更多