jQuery fadeout在.submit()
问题描述:
下面的代码是为了防止双击提交,它似乎工作。它可以防止双重提交数据,但是fadeOut不会被执行。有人知道为什么提交后,提交按钮,如果按下将导致fadeOut执行。jQuery fadeout在.submit()
$("#form1").submit(function() {
$("#form1Submit").click(function(event){
event.preventDefault();
$("#form1Submit").fadeOut("slow");
});
});
答
淡出不是因为在提交#form1
点击事件才会被绑定到#form1submit
执行。第一次点击提交按钮时,表单被提交,然后事件被绑定。 (如果表单只是做回发,事件将永远不会被束缚由于页面刷新)
你可以简单的交换submit
和click
,一旦点击提交按钮,该按钮变淡,然后继续到表格提交。
$("#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
如果想法是为了防止双重提交,为什么在第一次提交表单时不淡出它,而不是在提交之后尝试点击它? – BenM 2013-03-04 12:59:19