添加代码后提交无效,以防止双重提交JQuery

时间:2012-07-05 14:53:40

标签: javascript jquery jquery-ui

jsFiddle example

在我添加这一行之前:

$('form').submit(function(){
    $('input[type=submit]', this).attr('disabled', 'disabled');
});

正在工作(发送信息与帖子),在我添加禁用内容以防止双击后,表单将不会发送信息但禁用正在工作且FORM

请告诉我,我添加了错误的第5行吗?我应该在其他地方添加禁用代码吗?

仍然没有解决方案!

2 个答案:

答案 0 :(得分:2)

您必须返回true,才能执行提交:

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

检查jQuery submit,它说:

  

这在实际提交之前发生,因此我们可以取消   通过在事件对象上调用.preventDefault()来提交动作   从我们的处理程序返回false。

答案 1 :(得分:1)

你的问题是:

 onclick="return checkDuplicateMessage()"

不要将jQuery和内联事件处理程序结合使用。

相反,请转到:

$('form').submit(function() {
    //cancel the submit if there's a duplicate
    if(!checkDuplicateMessage())
        return false;

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