jQuery fadeOut in .submit()

时间:2013-03-04 12:51:48

标签: jquery fadeout preventdefault double-submit-prevention

以下代码是为了防止双击提交,它似乎工作。它可以防止双重提交数据,但不会执行fadeOut。谁知道为什么?提交后,如果按下提交按钮将导致fadeOut执行。

$("#form1").submit(function() { 
     $("#form1Submit").click(function(event){ 
         event.preventDefault();
         $("#form1Submit").fadeOut("slow"); 
     });
});

1 个答案:

答案 0 :(得分:2)

淡出未执行,因为在提交#form1时,点击事件才被绑定到#form1submit。第一次单击提交按钮时,将提交表单,然后绑定事件。 (如果表单只是进行回发,则由于页面刷新而永远不会绑定事件)

您可以简单地交换submitclick,一旦点击提交按钮,按钮就会消失,然后继续进行表单提交。

$("#form1Submit").click(function(event) {
    event.preventDefault();
    $(this).fadeOut("slow", function(){
        //Once button has faded, invoke the form submission
        $("#form1").submit();
    });
});