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