当我尝试提交表单时,我遇到错误,或者如果我在控制台中手动输入,我会收到此错误:
RangeError: Maximum call stack size exceeded
这是我的代码:
$(document).ready(function() {
$('#contact').on('submit', function(event) {
event.preventDefault();
var valid = 1;
var name = $('input[name$="name"]');
var email = $('input[name$="email"]')
var phone = $('input[name$="phone"]');
var comment = $('input[name$="comment"]');
if (!name.val() && valid == 1) {
valid = 0;
alert('Please fill out the Name field');
name.focus();
}
if (!email.val() && valid == 1) {
valid = 0;
alert('Please fill out the E-mail Address field');
email.focus();
}
if (!phone.val() && valid == 1) {
valid = 0;
alert('Please fill out the Phone field');
phone.focus();
}
if (valid == 1) {
$('#contact').submit();
}
})
});
答案 0 :(得分:17)
您正在从提交处理程序调用提交,因此它是无限递归。如果有效,您希望返回true
,否则返回false
。
编辑哦,我不确定你是否想在这种情况下阻止默认。