为什么我不能通过我的复选框启用/禁用我的文本框?

时间:2012-02-25 07:47:56

标签: javascript html forms

我确信这是一个简单的问题,但我无法弄清楚我做错了什么。

我想要完成的是当复选框被"检查"我希望它启用文本框。

这是我的代码。

<html>
    <title> iSCSI Admin v0.1 </title>

    <body>

        <fieldset style="width:640px;">
            <legend>
                Enable textbox
                <input type="checkbox" name="checkbox1" onclick="enabledisable()">
            </legend>

            <form name="form1">
                Text:
                <input type="text" name="textname" disabled>
            </form>

        </fieldset>

        <script type="text/javascript">
            function enabledisable() {

                if (document.checkbox1.checked) {

                    document.form1.textname.disabled=false;

                } else {

                    document.form1.textname.disabled=true;

                }

            }
        </script>

    </body>

</html>

4 个答案:

答案 0 :(得分:1)

试试这个:


<input id="textname" type="text" />


function enabledisable() {
    if (document.getElementById("Checkbox1").checked) {
        document.form1.textname.disabled = false;
    }
    else {
        document.form1.textname.disabled = true;
    }
}

答案 1 :(得分:0)

好的,你解决了这个问题。您需要将复选框放在表单中。 试试这个:

<body>
  <script type="text/javascript">
      function enabledisable() {
                if (document.form1.checkbox1.checked) {    
                    document.form1.textname.disabled=false;
                } else {
                    document.form1.textname.disabled=true;
                }
            }​
    </script>
    <form name="form1">
        <fieldset style="width:640px;">
            <legend>Enable textbox  <input type="checkbox" name="checkbox1" onclick="enabledisable()"></legend>
               Text:
                <input type="text" name="textname" disabled="true" >
        </fieldset>
    </form>
</body>​​​​

答案 2 :(得分:0)

  document.form1.textname.disabled='disabled';
  document.form1.textname.disabled='';

http://jsfiddle.net/nqaJZ/

答案 3 :(得分:0)

注意:我添加了 - &gt; id =“checkbox1”到您的复选框字段。 注意:我也改变了if条件 - &gt;的document.getElementById( “checkbox1”)。检查 注意:我更改了启用/禁用文本字段的代码 - &gt; document.form1.text.disabled = FALSE;

请注意我已将其从targetname(不存在)更改为您的文本域名称,即“text”。

希望它有所帮助。

     iSCSI Admin v0.1

<body>

    <fieldset style="width:640px;">
        <legend>
            Enable textbox
            <input type="checkbox"  id="checkbox1"  name="checkbox1" onclick="enabledisable()">
        </legend>

        <form name="form1">
            Text:
            <input type="text" name="text" disabled>
        </form>

    </fieldset>

    <script type="text/javascript">

        function enabledisable() {

            if (document.getElementById("checkbox1").checked) {

                document.form1.text.disabled=false;

            } else {

                document.form1.text.disabled=true;

            }

        }
    </script>

</body>