Включить/отключить кнопку отправки, если флажок установлен или не установлен?
Как включить кнопку отправки в моей HTML-форме и отключить, если флажок не установлен?
Что не так с этим кодом?
EnableSubmit = function(val)
{
var sbmt = document.getElementById("Accept");
if (val.checked == true)
{
sbmt.disabled = false;
}
else
{
sbmt.disabled = true;
}
}
Флажок
<td width="30%">Do you accept Terms of Service agreement?</td>
<td width="10px" style="min-width: 10px"></td>
<td width="70%">
<input type="checkbox" name="TOS" value="Accept" onClick="EnableSubmit"> I agree to Terms of Service agreement.
</td>
Ответы
Ответ 1
Измените свой HTML на это:
<td width="30%">Do you accept Terms of Service agreement?</td>
<td width="10px" style="min-width: 10px"></td>
<td width="70%">
<input type="checkbox" name="TOS" value="Accept" onClick="EnableSubmit(this)"> I agree to Terms of Service agreement.
</td>
Причина, по которой это не работает: вы ничего не передаете своей функции. На самом деле, поскольку вы не использовали круглые скобки с именем функции, вы вообще не вызывали эту функцию. Передача this
в контексте атрибута события onclick
HTML означает, что вы передаете ссылку на объект DOM элемента, предоставляя вам доступ к свойству checked
.
Ответ 2
Вам нужно включить параметры: onClick="EnableSubmit()"
<input type="checkbox" name="TOS" value="Accept" onClick="EnableSubmit()"> I agree to Terms of Service agreement.