我正在使用jQuery验证,使用以下代码:
$("#demo").validate({
rules : {
password : { required : true, },
password2 : { required : true, },
},
messages: {
password : { required: "This field is required.",},
password2 : { required: "This field is required.",},
},
submitHandler: function(form) {
$( "#dialog-confirm" ).dialog({
autoOpen: true,
resizable: false,
height:250,
width:500,
modal: true,
buttons: {
OK : function(form) {
form.submit();
}
}
});
},
});
我要做的是将form
从submitHandler
函数传递到按钮对象函数。一旦他们点击OK,就会提交表格。
答案 0 :(得分:1)
在jQuery Validate插件中,form
参数仅代表您的form
对象。在这种情况下,form
代表与$("#demo")
完全相同的内容。由于您尝试在.dialog()
方法中使用它,因此可能无法识别form
。
看看这是否更好......
submitHandler: function(form) {
$( "#dialog-confirm" ).dialog({
autoOpen: true,
resizable: false,
height:250,
width:500,
modal: true,
buttons: {
OK : function() {
$("#demo").submit();
}
}
});
}
答案 1 :(得分:0)
从“确定”按钮处理程序中删除form
参数。您正在隐藏form
的{{1}}参数。
答案 2 :(得分:0)
为了让jQuery在单击“确定”后发送表单,您需要按如下方式构建表单:
<form id="demo" method="post" action="">
<input type="text" name="password" />
<input type="text" name="password2" />
<div id="dialog-confirm" title="Success"> Thank you, success message</div>
<input type="submit" name="submit" value="Submit" />
</form>
这允许jQuery验证识别“OK”按钮。请注意,对话框应位于提交按钮之前的表单内。