我正在编写Javascript / JQuery代码,我想在提交之前拦截表单提交,因为我需要检查字段是否有效。
所以我阻止发生默认事件,检查我想要的内容,然后如果一切正常则再次触发事件。问题是,这触发了完全相同的功能,我陷入无限循环。
有解决方法吗?我可以想到解决方法,但它们毕竟是解决方案,而不是最优雅的解决方案。
这是我的代码:
$("#register_form").submit(function(event) {
event.preventDefault();
console.log('form submit attempt');
checkUsername();
$("#register_form").submit();
});
答案 0 :(得分:0)
为了能够在出现错误时停止提交表单,您需要从该功能return false
。您需要确保checkUsername()
函数返回bool。
试试这个......
$("#register_form").submit(function(event) {
if(checkUsername())
return true;
return false;
});
甚至更好......
$("#register_form").submit(function(event) {
return checkUsername();
});