以下函数正确验证空字段:
function empty_field(element){
element.each(function(){
if($(this).val() == ''){
$(this).addClass('error');
}
else{
$(this).removeClass('error');
return true;
}
});
}
但是,我想通过执行以下操作来检查验证是否完成:
submit.click(function(e){
e.preventDefault();
var input = $('.input');
if(empty_field(input))//if the form is valid
{
console.log('form validated');
}
});
当我点击提交按钮时,表单会被验证,但控制台日志不起作用,这意味着可能是条件错误。
任何帮助?
答案 0 :(得分:4)
你的内部函数不会从外部函数返回。
您可以使用empty_field函数范围内的变量进行修改。例如。
function empty_field(element){
var valid = true;
element.each(function(){
if($(this).val() == ''){
$(this).addClass('error');
valid = false;
}
else{
$(this).removeClass('error');
}
});
return valid;
}
答案 1 :(得分:4)
你没有从你的职能部门返回任何东西,
function empty_field(element){
var noError = false;
element.each(function(){
if($(this).val() == ''){
$(this).addClass('error');
}
else{
$(this).removeClass('error');
noError = true;
return false; // to break the `.each()`
}
});
return noError;
}