2013-03-04 69 views
1

下面的代碼是爲了防止雙擊提交,它似乎工作。它可以防止雙重提交數據,但是fadeOut不會被執行。有人知道爲什麼提交後,提交按鈕,如果按下將導致fadeOut執行。jQuery fadeout在.submit()

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

如果想法是爲了防止雙重提交,爲什麼在第一次提交表單時不淡出它,而不是在提交之後嘗試點擊它? – BenM 2013-03-04 12:59:19

回答

2

淡出不是因爲在提交#form1點擊事件纔會被綁定到#form1submit執行。第一次點擊提交按鈕時,表單被提交,然後事件被綁定。 (如果表單只是做回發,事件將永遠不會被束縛由於頁面刷新)

你可以簡單的交換submitclick,一旦點擊提交按鈕,該按鈕變淡,然後繼續到表格提交。

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

謝謝,現在它明顯! – 2013-03-04 14:14:37