jquery编号验证工作不一致
jquery number validation not working consistently
我在表单中使用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()
。
$('.form-actions').on('click', '#btnSubmit', function (evt) {
if ($("#educationForm").valid()) {
evt.preventDefault(); // prevents the form submission to allow ajax
$.ajax({
type: "POST",............
} else {
validator.focusInvalid();
}
});
-
您根本不应该需要
click
处理程序。根据文档,您的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.
});
演示:http://jsfiddle.net/2vv8vL79/
相关文章:
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- 用javascript将script元素附加到头部;铬不能工作
- AJAX更新面板不;t工作.请帮我找出我错在哪里.
- Android和JavaScript解析API之间不一致
- 为什么jQuery代码段在没有IFrame的情况下可以工作,而在有IFrame时却不能工作
- 为什么当async标志设置为false时,xmlhttprequest中的代码可以工作,而当它设置为true时却不能工作
- Javascript的行为与PHP包含文件不一致
- 对这种与document.domain和CORS相关的不一致行为的解释是什么
- 谷歌分析跟踪内部链接不正常工作的事件
- 点击链接行为不一致
- 引导程序's的javascript在本地工作,但在部署到服务器时不能工作
- Passport.js`isAuthenticated()`不一致的行为;当它应该是真的时候是假的
- JQuery脚本没有'Don’我不能工作两次
- Excel公式到Javascript,工作但不一致
- ExternalInterface返回到AS3在IE中不一致工作
- jquery编号验证工作不一致
- Window.location.reload (true)工作不一致
- 分页Ajax在Rails中工作不一致
- Javascript日历新实例工作不一致
- 显示/隐藏在 Jquery 图像映射上不一致的工作