我想做这样的事情,但是这个看起来像是在无限次地徘徊。
$("form").live("submit", function() {
if($(this).attr('action') != "ajax"){
$(this).submit();
return true; // even i do this!! but form is NOT submited!!
}
else { /* doing the ajax stuff! */ }
});
在Chrome和Firefox中一段时间后表单会被提交,类似于10秒,在IE中崩溃了!
我知道当我说form.submit意味着我提交这个并且一次又一次地调用函数时,我怎么能避免这个?
答案 0 :(得分:11)
再次向.submit()
发送气泡,返回.live()
处理程序,导致无限循环,而您想在此处调用本机form.submit()
方法,如下所示:
$("form").live("submit", function() {
if(this.action != "ajax") {
this.submit();
}
else { /* doing the ajax stuff! */ }
});
同样.action
is a native DOM property,您可以通过这种方式访问它......这里不需要jQuery开销。