如何使用JavaScript只读输入字段?

时间:2013-07-24 04:59:30

标签: javascript input readonly

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

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

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

  

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

请确保将来使用<body onload="onLoadBody();">的人使用此功能。

7 个答案:

答案 0 :(得分:56)

您可以获取input元素,然后将其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

答案 1 :(得分:19)

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

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

在页面加载时运行,值得参考here

答案 2 :(得分:4)

document.getElementById("").readOnly = true

答案 3 :(得分:4)

document.getElementById('TextBoxID').readOnly = true;    //to enable readonly


document.getElementById('TextBoxID').readOnly = false;   //to  disable readonly

答案 4 :(得分:2)

试试这个:

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

答案 5 :(得分:-1)

我认为您只有readonly =“ readonly”

<html><body><form><input type="password" placeholder="password" valid="123" readonly=" readonly"></input>

答案 6 :(得分:-2)

这里有一些示例如何设置readonly属性:

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