Jquery验证不起作用.Jquery-Javascript
Jquery validation is not working. Jquery - Javascript
我的问题是使用Jquery验证我的表单。我的验证仅使用validate
函数运行良好,但后来我添加了submit
选项,验证没有进行。我想验证我的表单,然后执行提交。
$(document).ready(function () {
$('#ReqCreateForm').validate({
invalidHandler: function (e, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
var message = errors == 1
? 'Missing 1 field'
: 'Missing fields';
$("div.error span").html(message);
$("div.error").show();
} else {
$("div.error").hide();
}
},
onkeyup: false,
highlight: function (element) {
$(element).addClass('error');
}, unhighlight: function (element) {
$(element).removeClass('error');
}
});
$('#ReqCreateForm').submit(function () {
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function (result) {
alert("All Great!");
},
error: function (jqXhr, textStatus, errorThrown) {
alert("Error '" + jqXhr.status + "' (textStatus: '" + textStatus + "', errorThrown: '" + errorThrown + "')");
}
});
return false;
});
});
提前感谢。
解决方案:
解决方案非常简单。在$.ajax
之前,将以下代码添加到我的提交选项中。
if (!$(this).valid()) {
return false;
}
您必须调用提交按钮的点击处理程序上的有效函数,如下所示:
if($('#ReqCreateForm').valid())
{
//then do your thing
}
我使用这个插件来使用Ajax提交表单。它有一个名为onbeforesubmit的事件,在这里您可以毫无问题地调用验证。也许你想试试。在你的情况下,你需要在向ajax调用提交数据之前捕捉事件,以便验证它(如果你不想使用我建议的插件)
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用jquery在填充自动完成的值后使文本框只读
- jQuery:循环一个具有不同超时值的循环
- 用程序搜索JQuery数据表中的文本
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jQuery匹配JSON对象的部分文本
- Jquery POST未填充数组
- JQuery使计数器每次更改时都会增加
- 如何在Angular2中使用jQuery插件
- 提高JQuery的性能
- 无法在通过jQuery的ajax加载的页面中执行javascript
- JQuery合并了keyup和focusout两个函数
- 如何使用jQuery选择下拉列表的值
- 将PHP变量传递给jQuery时遇到问题
- jQuery UI自动完成突然停止工作
- 剑道网格jQuery动画()问题
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- "$75.00" into "75.00" JQuery or Javascri
- jquery mobile change page with page transition from javascri