【发布时间】:2015-01-04 17:47:11
【问题描述】:
考虑以下脚本。验证脚本后,如果他们更改了电子邮件,我希望显示一个对话框,提示他们输入密码。然后,服务器将仅在密码签出时更新数据库。
问题在于它会导致无限循环,因为对话框按钮提交表单,而表单又会启动对话框。我意识到如果$('#password') 不为空,我就无法触发对话框,但是,我的实际脚本更复杂,以某种方式提交表单并绕过 jQuery 验证 submitHandler 会“很好”。
这可能吗?如果有,怎么做?
var validator=$("#main_form").validate({
rules: {},
messages: {},
submitHandler: function(form) {
if(emailedChanged) {
$("#dialog-password").dialog("open");
}
else {form.submit();}
}
});
$('#dialog-password').dialog({
buttons : [
{
text : 'SAVE',
click : function() {
$('#password').val($(this).find('input').val());
$('#main_form').submit();
}
},
{
text : 'CANCEL',
click : function() {$(this).dialog("close");}
}
]
});
【问题讨论】:
-
submitHandler是决定表单是否/何时有效的错误位置,因为submithandler仅在点击后触发> 该表单已被视为有效。
标签: javascript jquery forms jquery-validate