Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery每个方法都不返回值_Jquery_Methods_Each - Fatal编程技术网

jQuery每个方法都不返回值

jQuery每个方法都不返回值,jquery,methods,each,Jquery,Methods,Each,这里的msgOnError、msgHash和msgHash是我用来为每个具有特定ID的文本框获取消息的映射 不幸的是,每个方法都不会返回false来取消表单的提交。我做错了什么??我不熟悉jQuery,谢谢是的,这正是每个的工作原理。因为它实际上是在每次迭代中调用匿名函数的循环,所以退出这些函数也不会退出调用函数。这里返回true和false实际上分别对应于for循环的continue和break 您需要设置一个布尔标志,然后返回false(break),然后在每个之后返回布尔标志的值,这是真的

这里的msgOnError、msgHash和msgHash是我用来为每个具有特定ID的文本框获取消息的映射
不幸的是,每个方法都不会返回false来取消表单的提交。我做错了什么??我不熟悉jQuery,谢谢

是的,这正是每个的工作原理。因为它实际上是在每次迭代中调用匿名函数的循环,所以退出这些函数也不会退出调用函数。这里返回true和false实际上分别对应于for循环的
continue
break


您需要设置一个布尔标志,然后返回false(break),然后在
每个

之后返回布尔标志的值,这是真的。我只需在$('input[type=text],textarea')中设置一个布尔变量,就可以使用它。每个方法都可以使用,并且还删除了return关键字。稍后在$('#commentForm')中,我检查了布尔值并决定是否应该提交表单。效果很好。再次感谢大卫,我很高兴你的工作顺利。如果您对某个答复感到满意,您可以勾选该答复的“接受”按钮,将其标记为已接受的答复。这表明其他用户知道问题已经解决。
$(document).ready(function() {

    $('#commentForm').submit(function(){

        return $('input[type=text], textarea').each(function(index){

            if($(this).attr('value') == ""){
                alert(msgHash[$(this).attr('id')]);
                return false;

            }else{

                if(!$(this).attr('value').match(validateHash[$(this).attr('id')])){
                    //Do nothing
                    alert(msgOnError[$(this).attr('id')]);
                    return false;
                }
            }
        });

        return true;
    });
});