我正在尝试使用 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/