Jquery每个只在特定的表单元素上

时间:2013-12-13 17:49:06

标签: jquery forms validation

我正在尝试制作自己的表单验证器

起初我使用的是此代码

    $(".check_submit").submit(function(event){

            event.preventDefault();

            var error = false;

            $(".req_field").each(function( index ){

                    if(!$(this).val()){                
                        error = true;
                    }                                    

            });

            if(error == false){
                this.submit();                    
            }else{
                alert("fill all please");
            }                

    });

然后我发现如果我在同一页面中有多个表单发生冲突,

所以我写了这段代码但是有些不对劲

    $(".check_submit").submit(function(event){

            event.preventDefault();

            var error = false;

            $(this).children(".req_field").each(function( index ){

                    if(!$(this).val()){                
                        error = true;
                    }                                    

            });

            if(error == false){
                this.submit();                    
            }else{
                alert("fill all please");
            }                

    });

2 个答案:

答案 0 :(得分:3)

改为使用find()

$(this).find(".req_field").each(...)

children()只会查找第一级后代

答案 1 :(得分:2)

你需要“找到”而不是“孩子”。 “孩子们”只选择直系后代。