我试图在验证表单后使用ajax发布表单。但是.valid似乎是错误的。
根据按钮需要多种动作类型。
此示例也未在提交时正确显示错误消息
$('#submit').click( function(){
alert(validator.valid());
});
$('#submit2').click( function(){
alert(validator.valid());
//do something else
});
如果我输入必填字段(例如姓名),状态将变为true
答案 0 :(得分:0)
它正在运作。我刚检查了表单'$("#myForm").valid()
验证
答案 1 :(得分:-1)
引用OP:
“我正在尝试在验证表单后使用ajax发布表单”
As per documentation,您的ajax
进入submitHandler
回调函数。
submitHandler (默认:原生表单提交)
类型:功能()
回调 用于在表单有效时处理实际提交。获取表单 作为唯一的论点。替换默认提交。正确的地方 在验证后通过Ajax提交表单。
使用此回调,将自动捕获点击,并且仅在有效表单上触发该功能。
$(function () {
var validator = $("#myForm").validate({
// rules and options,
submitHandler: function(form) {
// your ajax goes here
alert("valid form");
return false;
}
});
});
DEMO:http://jsfiddle.net/fXDwd/
引用OP:
“然而
.valid
似乎是错误的。”
修改强>
根据OP的评论和更新的jsFiddle:
如果您想让多个提交按钮在一个表单上执行不同的操作,请为您已经完成的每个按钮构建click
个处理程序。现在,您必须将这些按钮移动到<form></form>
容器的外部。否则,该插件会将它们视为普通的submit
按钮并干扰您的点击处理程序。
另一个问题是您.valid()
的实施。将其附加到form
元素$("#myForm")
,而不是验证程序初始化对象。
<强> HTML 强>:
<form id="myForm" action="">
...
</form>
<input type="button" id="submit" value="Submit form" />
<input type="button" id="submit2" value="Submit form2" />
<强>的jQuery 强>:
$(function () {
var validator = $("#myForm").validate({
// rules and options
});
$('#submit').click(function () {
alert($("#myForm").valid());
//do something
});
$('#submit2').click(function () {
alert($("#myForm").valid());
//do something else
});
});