所以我只是在做一个学校项目,我得到了几个表格。为了让这个更加成熟和更酷,我决定尝试自动验证我的表单。为此,我使用了一个函数来获取元素并检查它们是否为空,根据此结果,它将返回 true 或 false 。 根据这个函数的结果,它应该决定另一个函数的结果,但它根本不起作用。 我的代码如下:
var FormManager = {
SubmitForm: function(elem, event){
var $elem = $(elem);
if(!FormManager.ValidateForm($elem)){
switch(event){
case 'signup':
var elements = $(elem).closest('form').find('input');
AccountManager.SignUp(elements);
break;
case 'recover':
var email = $(elem).closest('form').find('input').val();
AccountManager.Recover(email);
break;
}
}
},
ValidateForm: function(elem){
var main = elem.closest('form').find('input');
var hasError = false;
$(main).each(function(index, elem){
var $element = $(elem);
if($element.val() == ''){
hasError = true;
$element.addClass('input-error');
$element.focus();
}
else{
hasError = false;
$element.removeClass('input-error');
}
});
return hasError;
}
};
所以我的问题是,如果用户没有在输入中写任何内容,那么变量应该返回 true 而我的 SubmitForm 不应该通过但是它确实