jquery - 防止 jQuery 中的双重表单提交

标签 jquery forms internet-explorer-8

我有一个表单,用户可以用它来输入有关发布的信息。完成后,他们单击“保存”进行更新。然而,在某些罕见的情况下(15,000 条记录中的 10 条),用户双击了保存按钮并导致双重表单提交,从而导致发布的项目重复。

我尝试用它来防止它:

$('input[type=submit]').click(function(){
    $('input[type=submit]').attr('disabled',true);
    //return true;
});

但问题是,它在 Safari/Firefox 等中完美运行,但在 Internet Explorer 8 中不起作用(可能不适用于 6 和 7)

当我在 IE8 中按“保存”时,该按钮被禁用,仅此而已,根本没有表单提交。

(我尝试了返回 true 和不返回 true 的情况;)

最佳答案

我不确定,所以这完全是猜测,但这可能取决于您的选择器。尝试一下:

$('input:submit').click(function() {
    $(this).attr('disabled', true);
});#

您还可以尝试拦截提交事件本身:

$('form').bind('submit', function(e) {
     $(this).find('input:submit').attr('disabled', 'disabled');
});

关于jquery - 防止 jQuery 中的双重表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5019666/

相关文章:

asp.net - 使用 jQuery 通过 GET 方法调用 ASP.NET Web 服务函数

javascript - jQuery:定位每 6 个中的第 3 个元素

database - 从 Joomla 表单字段插入数据库

javascript - 为什么使用 javascript 提交表单时没有出现 DOM 错误

php - 使用多个按钮处理表数据

html - 容器 ie8 边缘的 CSS 三 Angular 形

css - 带有文本的 div,在 IE8 中没有结束

javascript - 在网页上添加退出动画

javascript - 将动画计数器计算出的值

css - ie 9 和 10 中奇怪的文本换行问题。