【问题标题】:How to make a input field readonly with JavaScript?如何使用 JavaScript 使输入字段只读?
【发布时间】:2013-07-23 10:17:27
【问题描述】:

我知道您可以将readonly="readonly" 添加到输入字段,使其不可编辑。但我需要使用 javascript 来定位输入的 id 并将其设为只读,因为我无法访问表单代码(它是通过营销软件生成的)

我不想禁用输入,因为应该在提交时收集数据。

这是我在下面的建议中添加的页面,到目前为止没有运气:

https://www.pages05.net/engagedigital/inputReadOnly/test?spMailingID=6608614&spUserID=MTI5MDk4NjkzMTMS1&spJobID=Nzk4MTY3MDMS1&spReportId=Nzk4MTY3MDMS1

确保您为将来使用此功能的任何人使用<body onload="onLoadBody();">

【问题讨论】:

标签: javascript input readonly


【解决方案1】:
document.getElementById("").readOnly = true

【讨论】:

    【解决方案2】:

    试试这个:

    document.getElementById(<element_ID>).readOnly=true;
    

    【讨论】:

      【解决方案3】:
      document.getElementById('TextBoxID').readOnly = true;    //to enable readonly
      
      
      document.getElementById('TextBoxID').readOnly = false;   //to  disable readonly
      

      【讨论】:

        【解决方案4】:

        您可以获取输入元素,然后将其readOnly 属性设置为true,如下所示:

        document.getElementById('InputFieldID').readOnly = true;
        

        具体来说,这就是你想要的:

        <script type="text/javascript">
          function onLoadBody() {
            document.getElementById('control_EMAIL').readOnly = true;
          } 
        </script>
        

        在body标签上调用这个onLoadBody()函数,比如:

        <body onload="onLoadBody">
        

        查看演示:jsfiddle

        【讨论】:

        • 感谢您的回复,但它似乎对我不起作用 - 您介意检查一下吗:bit.ly/1aI1Zxn ???
        • 太棒了 - 谢谢 Vijay,我只需要让身体参考有 - 以防万一将来有人看到。
        • 我已经添加了关于JS中属性区分大小写的注释。
        • 我还有一个问题。如果 radio 是隐藏的,在这种情况下,即使它为 true,值也会为 false。
        • 注意区别,在 HTML 中属性是 readonly(全部小写),在 Javascript 中是 readOnly(大写 O)。感谢您的回答。
        【解决方案5】:

        这里有如何设置只读属性的示例:

        <form action="demo_form.asp">
          Country: <input type="text" name="country" value="Norway" readonly><br>
          <input type="submit" value="Submit">
        </form>

        【讨论】:

          【解决方案6】:

          以上答案对我不起作用。以下是: document.getElementById("input_field_id").setAttribute("readonly", true);

          并删除只读属性: document.getElementById("input_field_id").removeAttribute("readonly");

          而对于页面加载时的运行,值得参考here

          【讨论】:

            【解决方案7】:

            我认为你只有 readonly="readonly"

            &lt;html&gt;&lt;body&gt;&lt;form&gt;&lt;input type="password" placeholder="password" valid="123" readonly=" readonly"&gt;&lt;/input&gt;

            【讨论】:

              猜你喜欢
              • 2020-07-30
              • 2014-05-02
              • 2012-09-27
              • 1970-01-01
              • 2023-01-11
              • 1970-01-01
              • 1970-01-01
              • 2012-10-05
              • 1970-01-01
              相关资源
              最近更新 更多