1

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

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

1 回答 1

2

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

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

$("#form1Submit").click(function(event) {
    event.preventDefault();
    $(this).fadeOut("slow", function(){
        //Once button has faded, invoke the form submission
        $("#form1").submit();
    });
});
于 2013-03-04T13:25:07.543 回答