Avi*_*Das -2 javascript ajax recursion jquery onsubmit
这是我的自定义提交功能,带有验证.单击"提交"后,它显示"太多递归".
$('#searchform').on('submit', function(e){
var validateError = '';
var id = '';
var fieldError = [];
$('#searchform :input:text').each(function(){
id = $(this).attr('id');
validateError = jQuery.fn.validationEngine.loadValidation(document.getElementById(id));
if (validateError) {
fieldError.push(id);
}
});
if (fieldError.length != 0) {
return false;
}
else {
$("form#searchform").submit();
return true;
}
});
});Run Code Online (Sandbox Code Playgroud)
我的表格花了太多时间提交.在控制台中,我可以看到我的验证Ajax方法无限调用.我怎么能解决这个问题.
问题是,如果表单有效,你调用.submit()它,.submit()再次调用你的回调,再次调用,等等,你得到一个无限的递归循环.
只需删除
else {
$("form#searchform" ).submit();
return true;
}
Run Code Online (Sandbox Code Playgroud)
完全它应该工作(你的回调不会返回任何东西,浏览器将继续默认的表单提交行为).