Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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
Javascript 表单验证jQuery_Javascript_Jquery - Fatal编程技术网

Javascript 表单验证jQuery

Javascript 表单验证jQuery,javascript,jquery,Javascript,Jquery,我有一段代码用于验证表单: $("form[name='aar_form']").submit(function() { var values = new Array(); $(".tipsy").remove(); show_loading(); for(var i in fields) { if(i < 9)

我有一段代码用于验证表单:

$("form[name='aar_form']").submit(function()
        {
            var values = new Array();
            $(".tipsy").remove();
            show_loading();
            for(var i in fields)
            {
                if(i < 9)
                {
                    values[i] = $("input[name='" + fields[i] + "']").val();
                }
                else if(i < 10)
                {
                    values[i] = $("select[name='" + fields[i] + "']").val();
                }
                else
                {
                    var $i = $("#" + fields[i] + "_div input:checked");
                    if($i.length < 1)
                    {
                        values[i] = "";
                    }
                    else if($i.length == 1)
                    {
                        values[i] = $i.val();
                    }
                    else
                    {
                        values[i] = new Array();
                        $i.each(function()
                        {
                            values[i].push($(this).val());
                        });
                    }
                }
            }
            window.no_errors = false;
            ajax_request({act: "aar_validate", values: values}, function(response)
            {
                response = eval("(" + response + ")");
                window.no_errors = response.errors ===  true ? false : true;
                if(response.errors === true)
                {
                    for(var i in response.error_fields)
                    {
                        $(response.error_selector[i] + "[name='" + response.error_fields[i] + "']").attr("title", response.error_msgs[i]).tipsy({trigger: "manual", gravity: response.error_gravity[i]}).tipsy("show");
                    }
                    hide_loading();
                    $("html, body").animate({scrollTop: $(response.error_selector[0] + "[name='" + response.error_fields[0] + "']").offset().top - 80}, "slow");
                }
            });
            console.log(window.no_errors);
            setTimeout("console.log('k: ' + window.no_errors)", 100);
            return false;
        });
无论no_errors变量是什么,表单都将提交


任何提示?

如果您不希望在验证期间在页面上执行任何其他操作,请对验证页面进行同步调用,而不是默认的aync调用

不要依赖于阻止或允许提交。在所有情况下都要阻止它,然后在验证结果正常后通过回调手动提交它。
setTimeout("return window.no_errors", 100);