Почему я не могу получить текстовое поле для включения / выключения с моим флажком? - PullRequest
0 голосов
/ 25 февраля 2012

Я уверен, что это простой вопрос, но я не могу понять, что я делаю неправильно.

То, что я пытаюсь сделать, это когда флажок «отмечен», я хочу, чтобы он включил текстовое поле.

Вот мой код.

<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 ]

1 голос
/ 25 февраля 2012

Попробуйте:


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


function enabledisable() {
    if (document.getElementById("Checkbox1").checked) {
        document.form1.textname.disabled = false;
    }
    else {
        document.form1.textname.disabled = true;
    }
}
0 голосов
/ 25 февраля 2012
  document.form1.textname.disabled='disabled';
  document.form1.textname.disabled='';

http://jsfiddle.net/nqaJZ/

0 голосов
/ 25 февраля 2012

Примечание: я добавил -> id = "checkbox1" в поле вашего флажка. Примечание: я также изменил условие if -> document.getElementById ("checkbox1"). Проверено Примечание: я изменил ваш код, который также включает / отключает текстовое поле -> 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>

0 голосов
/ 25 февраля 2012

Хорошо, вы исправили вопрос. Вам необходимо поставить флажок в форме. Попробуйте это:

<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>​​​​
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...