13

Вопрос по validation, html, javascript – Включить / отключить кнопку отправки, если флажок установлен / снят?

Как включить кнопку отправки в моей 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>
  • 3

    Вам необходимо включить параметры:

    onClick="EnableSubmit()"

     <input type="checkbox" name="TOS" value="Accept" onClick="EnableSubmit()"> I agree to Terms of Service agreement.
    

  • 14

    Измените свой 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 имущество.

  • 0

    Сначала

    если условие проверяет, переключен ли тумблер на нужную сторону. Состояние может быть изменено в соответствии с требованием. Последнее jquery - сделать тумблер серым.

     if(!$('#togglehk').is(":checked"))
                        {
                            $('#togglehk').click();
                        }
      jQuery('#togglehk').attr("disabled", true);
      jQuery('#togglehk').prop("disabled",true);
    
      jQuery('#togglehk').next(".slider").css("backgroundcolor","#B3B3B3");