javascript - 如何在 PHP 中提交后禁用提交按钮?

标签 javascript php jquery

我浏览了有关此问题的其他问题,但找不到满意的答案。 我有一个测验网站,用户从四个选项中选择一个选项,然后单击“提交”。我想在单击一次后禁用提交按钮。

有没有办法用 PHP 来做到这一点?如果没有,有没有办法用最少的 JS 来做到这一点。

最佳答案

可用解决方案

既然您标记了问题 jQuery,这里有一些您可以使用的简单 jQuery 解决方案:
要在单击时禁用它,您可以简单地:

$('input[type="submit"]').click(function() {
    this.disabled = true;
};

不过,您可以做得更好,仅在提交表单后禁用它:

$("form").submit(function() {
    $(this).find('input[type="submit"]').prop("disabled", true);
});

解决方案演示

这是上述逻辑的简单演示,在 jsFiddle 中:http://jsfiddle.net/zb8CZ/
(请注意,在该实现中,我没有使用 jQuery,而是使用纯 JS;不过,为了跨浏览器的可移植性,以及访问 jQuery 提供的许多其他方法(加上语法糖!),我推荐 jQuery 方法。

值得注意...

请注意,尝试在 HTML 中内联实现 JS 事件处理(使用 onsubmit="..."onclick="..." 属性)被认为是不好的做法,因为它混淆了您的功能与布局/显示层。您还会丢失编辑器可能提供的任何语法突出显示和/或错误检查,并且通常会使开发和维护应用程序变得更加困难,因为您的代码没有逻辑顺序。

关于javascript - 如何在 PHP 中提交后禁用提交按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19194356/

相关文章:

jquery - 单击事件未触发 - AJAX jQuery

javascript - 将较小数组的每个 block 放入每一行中

javascript - jQuery .each() 索引值

javascript - jQuery 选择器混淆

javascript - JQM 选择器可折叠字段集

php - 我的 IF 函数不工作

javascript - Eslint 不适用于本地系统

javascript - 在各种平台(例如智能手机、平板电脑)上保持 div 的大小

php - CakePHP 3.0 连接数据库失败

php - 阿拉伯语语言转换 php 到 mysql