14

如何在我的 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>
4

3 回答 3

15

将您的 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在 HTML 事件属性的上下文中传递它onclick意味着您正在传递对元素的 DOM 对象的引用,从而使您可以访问其checked属性。

于 2012-04-05T02:32:31.543 回答
3

您需要包含以下参数:onClick="EnableSubmit()"

 <input type="checkbox" name="TOS" value="Accept" onClick="EnableSubmit()"> I agree to Terms of Service agreement.
于 2012-04-05T02:33:11.747 回答
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");
于 2018-04-17T10:15:48.150 回答