使用Javascript将输入字段设置为只读

时间:2019-02-06 09:34:56

标签: javascript html

我正在通过另一个脚本动态设置SecretAttribute的值,但此刻我很难将Name输入字段设置为readonly

尝试通过SecretAttribute和SecretElement设置getElementByID,但没有骰子。

<input name="SecretAttribute" id="SecretAttribute" value="Y" type="checkbox" checked/> 
<html>
<head>
 <title>Demo Title</title>
<script type="text/javascript"> 
var SecretElement = document.getElementById('SecretAttribute');\
if (document.getElementById("SecretAttribute").checked;) {
    function DataCheck() {
    document.getElementById('Name').readOnly = true;
  } 
}

</script>
</head>
<body onload="DataCheck()">

  Demo6.1<br>
  Name: <input type="text" id="Name" name="Name"><br>

</body>
</html>

2 个答案:

答案 0 :(得分:2)

函数调用位于if语句内部。将if条件放入通话中

  function DataCheck() {
    if(document.getElementById("SecretAttribute").checked)
    document.getElementById('Name').readOnly = true;
  } 

var SecretElement = document.getElementById('SecretAttribute');
<input name="SecretAttribute" id="SecretAttribute" value="Y" type="checkbox" checked/> 
<html>
<head>
 <title>Demo Title</title>

</head>
<body onload="DataCheck()">

  Demo6.1<br>
  Name: <input type="text" id="Name" name="Name" value="You can't edit this"><br>

</body>
</html>

答案 1 :(得分:0)

如果您使用的是较旧的浏览器,请尝试使用setAttribute,类似...

  var SecretElement = document.getElementById('SecretAttribute');
  if (SecretElement.checked) {
    document.getElementById('Name').setAttribute("readonly","readonly");
  }