我知道您可以将readonly="readonly"
添加到输入字段,因此不可编辑。但我需要使用javascript来定位输入的id并使其只读,因为我无法访问表单代码(它是通过营销软件生成的)
我不想禁用输入,因为应该在提交时收集数据。
以下是我在以下建议中添加的页面,到目前为止没有运气:
请确保将来使用<body onload="onLoadBody();">
的人使用此功能。
答案 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)
<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>