jquery:阻止默认浏览器表单提交行为但是使用jquery提交表单?

$('#search_form').submit(function(e) { //e.preventDefault(); return false; }) 

按Enter键可以防止表单提交。

但是,即使我有这个,我想在某些情况确实的情况下用jquery提交表单。

编辑:

 $('#search_form').submit(function(e) { return !!e.submit; }); function ... if (e.keyCode == 13) { if (blablabla) { ... // do something } else { $('#search_form').submit({submit:true}); //doesn't work console.log('submitted'); //this does successfully get fired } } 

如果我按回车键表格没有提交,但是在控制台登录就会发生!

 $('#search_form').submit(function(e) { if($('.errors').is(':visible')){ e.preventDefault(); // do something else here// some errors are visible :) return false; }else{ } }) 

通过检查e.originalEvent的类型,我们可以确定是否提交了人类(类型对象)或脚本(类型未定义):

 $('#search_form').submit(function(e) { if (typeof e.originalEvent !== 'undefined') { e.preventDefault(); } }) 

调用jquery触发器来提交表单:

 $('#search_form').trigger('submit');