Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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_Jquery Validate - Fatal编程技术网

Javascript jquery编号验证工作不一致

Javascript jquery编号验证工作不一致,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我正在表单中使用jquery验证。我没有遇到很多问题,但是我在用户表单中遇到了一个问题,jquery号码验证没有启动。我在IE、firefox和chrome上进行了测试,但在任何一个浏览器上都不起作用。奇怪的是,到目前为止,它似乎是特定于这一个用户的表单,当我转到其他用户表单时,警报就会发出,就像我在所有浏览器上测试时一样。我想知道在使用jquery验证时是否有人遇到过这个问题。下面是我正在使用的一些jquery验证代码的示例 var validator = $("#educationF

我正在表单中使用jquery验证。我没有遇到很多问题,但是我在用户表单中遇到了一个问题,jquery号码验证没有启动。我在IE、firefox和chrome上进行了测试,但在任何一个浏览器上都不起作用。奇怪的是,到目前为止,它似乎是特定于这一个用户的表单,当我转到其他用户表单时,警报就会发出,就像我在所有浏览器上测试时一样。我想知道在使用jquery验证时是否有人遇到过这个问题。下面是我正在使用的一些jquery验证代码的示例

    var validator = $("#educationForm").validate({
            debug: true,
            errorElement: "span",
            errorClass: "help-block errortext",
            errorPlacement: function (error, element) {
                element.before(error);
            },
            success: function (label) {
                label.remove();
            },
            rules: {
                school1GPA: {
                    number: true
                },
                school2GPA: {
                    number: true
                },
                school1Units: {
                    number: true
                },
                school2Units: {
                    number: true
                },
            },
            onsubmit: false
        });

    $('.form-actions').on('click', '#btnSubmit', function (evt) {
            evt.preventDefault();
            if ($("#educationForm").valid()) {

                $.ajax({
                    type: "POST",............
        } else {
           validator.focusInvalid();
        }
    });

问题是,您在触发
jquery
验证之前就触发了
evt.preventDefault()
。这基本上就是终止
evt.preventDefault()
之后的任何验证语句。只需调用
$(“#educationForm”).valid()
jquery.validate()
,然后调用
evt.preventDefault()

  • 您根本不需要
    单击
    处理程序,ajax属于
    submitHandler
    回调函数的内部

  • 您也不应该将
    onsubmit
    设置为
    false
    ,除非您希望在单击提交按钮时阻止验证

  • debug
    设置为
    true
    将阻止表单的提交

更像这样的东西

 var validator = $("#educationForm").validate({
        // debug: true, // <- this is blocking the submit entirely
        submitHandler: function(form) {
            // your ajax here
            $.ajax(...);
            return false;
        },
        errorElement: "span",
        errorClass: "help-block errortext",
        errorPlacement: function (error, element) {
            element.before(error);
        },
        success: function (label) {
            label.remove();
        },
        rules: {
            school1GPA: {
                number: true
            },
            school2GPA: {
                number: true
            },
            school1Units: {
                number: true
            },
            school2Units: {
                number: true
            },
        },
        // onsubmit: false  // <- this is preventing validation on the submit.
    });
var验证程序=$(“#教育形式”).validate({

//debug:true,//您是否也可以提供此特定表单的
html
?不需要单击处理程序,ajax属于插件的
submitHandler
选项。是的,您也可以这样做。调用特定的验证相关处理程序。
 var validator = $("#educationForm").validate({
        // debug: true, // <- this is blocking the submit entirely
        submitHandler: function(form) {
            // your ajax here
            $.ajax(...);
            return false;
        },
        errorElement: "span",
        errorClass: "help-block errortext",
        errorPlacement: function (error, element) {
            element.before(error);
        },
        success: function (label) {
            label.remove();
        },
        rules: {
            school1GPA: {
                number: true
            },
            school2GPA: {
                number: true
            },
            school1Units: {
                number: true
            },
            school2Units: {
                number: true
            },
        },
        // onsubmit: false  // <- this is preventing validation on the submit.
    });