切换复选框时无法启用/禁用文本框

Can't enable/disable textbox when toggling checkbox

本文关键字:文本 启用 复选框      更新时间:2023-09-26

这是我的代码.jsp文件,我已经在其中编写了 javascript 以在切换复选框名称=输入时启用/禁用文本框名称=uinp,但它不起作用!

<html>
<body>
    <form action="compile.jsp" method="get"> 
        Custom Input: <input type="checkbox" name="input" onchange="toggle('input','uinp')"><br><br>     
        <textarea rows="5" cols="15" name="uinp" style="display: none"></textarea><br><br>
        <br><input type="submit" value="Submit">
        <input type="reset" value="Cancel">
    </form>
    <script>
       function toggle(chk,txt)
       {     
            if(document.getElementById(chk).checked)  
                document.getElementById(txt).style.display='';
            else
               document.getElementById(txt).style.display='none';
       }
    </script>
</body>
</html>

请任何人帮我解决这个问题!

你需要

为textarea设置id,否则getElementById()返回null,因为没有带有该id的元素。您也可以传递this上下文来引用复选框。

<form action="compile.jsp" method="get">
  Custom Input:
  <input type="checkbox" name="input" onchange="toggle(this,'uinp')">
  <br>
  <br>
  <textarea rows="5" cols="15" id="uinp" style="display: none"></textarea>
  <br>
  <br>
  <br>
  <input type="submit" value="Submit">
  <input type="reset" value="Cancel">
</form>
<script>
  function toggle(ele, txt) {
    if (ele.checked)
      document.getElementById(txt).style.display = '';
    else
      document.getElementById(txt).style.display = 'none';
  }
</script>