javascript - Jquery - 验证器错误无法读取未定义的属性 'call'

标签 javascript jquery validation

我正在尝试使用 jquery 的验证函数来验证表单。当我触发 .valid() 函数时,我收到“无法读取未定义的属性调用”。

<script>
$("#form1").validate({
    rules: {
        EditSubName: {
            required: true, 
        }, 
        EditSubStreetNumber: {
            required: true, 
        },
        EditSubStreetName: {
            required: true  
        },
        EditSubSuburb: {
            required: true, 
        },
        EditSubState: {
            required: true,
            lettersonly: true,  
        },
        EditSubPostcode: {
            required: true, 
        },
        EditSubEmail: {
            email: true,    
        }
    },

    errorPlacement: function(error,element) {
         return true;
    },
    highlight: function(element) {
        $(element).closest("input")
        .addClass("textbox_001_err")
        .removeClass("textbox_001");
    },
    unhighlight: function(element) {
        $(element).closest("input")
        .removeClass("textbox_001_err")
        .addClass("textbox_001");
    },  
    submitHandler: function(form) {
        alert('Submitting Entered');
        //Update only
            if($("#radiono").prop("checked") == true)
            {
                alert('Entered Radio No');
                  $(".blackout").css("display", "none");
                   $.ajax({
                    url: 'save/saveSubjectonly.asp',
                    type: "POST",
                    data: {
                        SubjectID: $('#DefSubID').val(),
                        name: $('#EditSubName').val(),
                        dob: $('#EditSubDOB').val(),
                        email: $('#EditSubEmail').val() ,
                        telephone: $('#EditSubTelephone').val() ,
                        mobile: $('#EditSubMobile').val() ,
                        fax: $('#EditSubFax').val() ,
                        streetnumber: $('#EditSubStreetNumber').val() ,
                        streetname: $('#EditSubStreetName').val() ,
                        suburb: $('#EditSubSuburb').val() ,
                        postcode: $('#EditSubPostcode').val() ,
                        state: $('#EditSubState').val() ,
                        notes: $('#EditSubjectNotes').val(),
                        activalue: $('input:checkbox:checked').val(),
                        companyname: $('#EditCompanyName').val()
                    },
                    success: function(result){

                            //location.reload()

                    }
                });

            }; 
            //Made changes for all
            if($("#radioyes").prop("checked") == true)
            {
                    $(".blackout").css("display", "none");
                    $.ajax({
                    url: 'save/saveSubjectandupdate.asp',
                    type: "POST",
                    data: {
                        SubjectID: $('#DefSubID').val(),
                        name: $('#EditSubName').val(),
                        dob: $('#EditSubDOB').val(),
                        email: $('#EditSubEmail').val() ,
                        telephone: $('#EditSubTelephone').val() ,
                        mobile: $('#EditSubMobile').val() ,
                        fax: $('#EditSubFax').val() ,
                        streetnumber: $('#EditSubStreetNumber').val() ,
                        streetname: $('#EditSubStreetName').val() ,
                        suburb: $('#EditSubSuburb').val() ,
                        postcode: $('#EditSubPostcode').val() ,
                        state: $('#EditSubState').val() ,
                        notes: $('#EditSubjectNotes').val(),
                        activalue: $('input:checkbox:checked').val(),
                        companyname: $('#EditCompanyName').val()
                    },
                    success: function(result){
                            alert('Success');
                            //location.reload()

                    }
                });
            } 
    },
});
</script> 

我不确定为什么会发生这种情况。我知道它不会进入 SubmitHandler,因为没有警报消息触发。

最佳答案

我发现了问题。我忘记的是,EditSubState 规则中的字母是additional-methods.js 的一部分,该js 未包含在页面中。

一旦我添加了它,验证就可以正常工作。

关于javascript - Jquery - 验证器错误无法读取未定义的属性 'call',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31551911/

相关文章:

javascript - 使用 CSS/jQuery 进行元素操作

javascript - D3.js——如何通过 Javascript 更新数据集?

javascript - 我用 javascript 制作了幻灯片,但我不知道如何让我的照片变得困惑

javascript - 动态注入(inject)的 HTML 上未调用委托(delegate)事件的处理程序

javascript - 打印fabricjs Canvas ?

javascript - Angular Material md-select ng-model 设置为未定义的规则

javascript - jquery 验证插件中的转义点

c# - C# 中有内置的验证类吗?

javascript - 从 JavaScript 调用公共(public) PHP 函数

使用鼠标按住 Javascript 可以更快地增加值