2014-01-16 2 views
0

Я пытаюсь включить отключенный флажок, когда другой флажок установлен с помощью javascript. Я считаю, что моя проблема в том, когда я пытаюсь передать информацию о форме в javascript.включение флажка, когда другой флажок установлен с помощью javascript

Вот мой HTML:

<form id="checkboxes"> 
      <input type="checkbox" name="checkboxa" onclick="javascript:ToggleSwitch(form)" />1 
      <input type="checkbox" name="checkboxb" disabled="true" />2 
     </form> 

Вот мой Javascript:

<script type="text/javascript"> 
var form= document.getElementById("checkboxes") 
function ToggleSwitch(form) { 
    if (form.elements["checkboxa"].checked) 
    form.elements["checkboxb"].disabled = false 
} else { 
    form.elements["checkboxb"].disabled = true 
} 
</script> 

ответ

0

Вы пропустили { и } в вашем JavaScript. Попробуйте это:

var form= document.getElementById("checkboxes") 
function ToggleSwitch(form) { 
    if (form.elements["checkboxa"].checked) { // here 
     form.elements["checkboxb"].disabled = false 
    } else { 
     form.elements["checkboxb"].disabled = true 
    } 
} // and here 
+0

Все было! Какой тупой надзор с моей стороны. Спасибо друг! – user2108839

+0

Рад помочь! :) –

0

Изменить Вам OnClick событие, как этот

onclick="javascript:ToggleSwitch(this.form)" 

, а также вам не нужно var form= document.getElementById("checkboxes"), так как вы уже передав его в качестве параметра из OnClick событие.

И вы также не хватает скобку

Вот это JS

<script> 
    function ToggleSwitch(form) { 
     if (form.elements["checkboxa"].checked) { 
      form.elements["checkboxb"].disabled = false 
     } else { 
      form.elements["checkboxb"].disabled = true 
     } 
    } 

</script> 

А вот HTML-

<form id="checkboxes"> 
<input type="checkbox" name="checkboxa" onclick="javascript:ToggleSwitch(this.form)" />1 
<input type="checkbox" name="checkboxb" disabled="disabled" />2 
</form> 

А вот demo

0

Во-первых, У вас есть синтаксические ошибки в вашем javascript (отсутствует { i n заявление if).

У вас также есть избыточность в вашей функции. Это, по существу, эта картина:

if (x) { return true; } else { return false; }; 

, который может быть упрощен до

return x; 

Здесь немного другой метод, принимая эти точки во внимание, а также избавляет от необходимости поиска всего документа для ид (что обычно делает вещи более переносимыми/многоразовыми).

<html> 
    <head> 
    <script type="text/javascript"> 
     function ToggleSwitch(el, other) { 
     el.form.elements[other].disabled = !el.checked; 
     } 
    </script> 
    </head> 
    <body> 
    <form id="checkboxes"> 
     <input type="checkbox" name="checkboxa" onclick="ToggleSwitch(this, 'checkboxb')" />1 
     <input type="checkbox" name="checkboxb" disabled="true" />2 
    </form> 
    </body> 
<html> 
Смежные вопросы