javascript - 如果复选框被选中/未选中,启用/禁用提交按钮?

标签 javascript html forms validation

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

最佳答案

将您的 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>

它不起作用的原因:你没有传递任何东西给你的函数。实际上,因为您没有在函数名称中使用括号,所以您根本没有调用该函数。在 onclick HTML 事件属性的上下文中传递 this 意味着您正在传递对该元素的 DOM 对象的引用,从而使您可以访问其 checked属性。

关于javascript - 如果复选框被选中/未选中,启用/禁用提交按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10021848/

相关文章:

javascript - 你可以用 XMLHttpRequest 做什么而不能用 Fetch API?

php - 表单调用 2 个 php 函数

javascript - jQuery/JavaScript 日期表单验证

javascript - 如何在html表单中为所有空字段和必填字段显示 "Please fill out this field"?

html - 将元素绝对定位在圆的圆周上

javascript - 输入 key 表单提交因 HTML5 日期输入而失败

javascript - 每次调用一个函数你能返回不同的值吗? - JavaScript

javascript - 如何从插件外部访问 jQuery 插件中的函数?

javascript - Div 向上或向下移动

performance - 如何防止 HTML5 音频在加载时预下载/流式传输?