切换复选框时无法 enable/disable 文本框

Can't enable/disable textbox when toggling checkbox

这是我的 code.jsp 文件,当切换复选框 name=input 时,我已经将 javascript 写入 enable/disable textbox name=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() returns 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>