jQuery 返回没有按预期工作

Ale*_*dro 1 jquery return

以下函数正确验证空字段:

function empty_field(element){
    element.each(function(){
        if($(this).val() == ''){
            $(this).addClass('error');
        }
        else{
            $(this).removeClass('error');
            return true;
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

但是,我想通过执行以下操作来检查验证是否完成:

        submit.click(function(e){
            e.preventDefault();

                            var input = $('.input');

            if(empty_field(input))//if the form is valid
            {
                console.log('form validated');
            }

        });
Run Code Online (Sandbox Code Playgroud)

当我单击提交按钮时,表单得到验证,但控制台日志不起作用,这意味着可能条件错误。

有什么帮助吗?

Tim*_*Tim 5

您的内部函数不会从外部函数返回。

您可以修改 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;
 }
Run Code Online (Sandbox Code Playgroud)