javascript - 禁用和重新启用提交按钮并考虑到跨浏览器兼容性

标签 javascript jquery cross-browser submit

作为防止我的网站上的机器人垃圾评论的另一种尝试,我想默认禁用提交按钮并让用户单击复选框来启用它。

这是我的代码:

<label>
    <span class="notbot">
        <input type="checkbox" class="acceptance" value="1" name="iaccept">
    </span> I'm not a bot!
</label>

<input type="submit" value="Post Comment" id="submit" name="submit">

enter image description here

这是一个fiddle .

我的问题是,如何使用 Javascript 或 jQuery 并考虑到跨浏览器兼容性来做到这一点?我遇到过各种解决方案,每个解决方案都有各自的问题。

理想的解决方案是,如果用户没有启用 JS,则按钮不会被禁用...如果您选择回答,请提供代码示例并更新 fiddle .

最佳答案

jQuery 解决方案,在禁用 JavaScript 时使提交按钮保持启用状态,并且适用于大多数浏览器:

$('#submit').prop('disabled', true);

$('.acceptance').on('change', function() {
    $('#submit').prop('disabled', !this.checked);
});

FIDDLE

关于javascript - 禁用和重新启用提交按钮并考虑到跨浏览器兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17124899/

相关文章:

css - 显示 :initial on non CSS3 browsers? 会发生什么

html - 奇怪的复选框行为,在不同的浏览器中

javascript - 如何使用 JavaScript 更改 HTML 元素的 ID?

javascript - Electron 应用程序窗口在最小化、最大化和关闭事件时仍然有动画

javascript - 如何将全日历事件限制为只有一天?

javascript - 为什么很少有日期格式在 javascript 中不起作用

javascript - 在纯 JavaScript 中加载多个 JSON 文件

javascript - 如何让我的脚本等待 jQuery 动画完成?

jquery - 如何知道Jquery动画进度?

jquery - 迭代asp.net复选框,如果选中任何一个,则取消选中ID为="All"的复选框