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

时间:2016-02-06 07:06:26

标签: javascript jsp checkbox textarea

这是我的code.jsp文件,我在其中编写了javascript来启用/禁用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>

请有人帮帮我!

1 个答案:

答案 0 :(得分:2)

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

&#13;
&#13;
<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>
&#13;
&#13;
&#13;