我有一个使用jquery验证的表单。当用户单击提交按钮时,我有一些jquery拦截提交,并且应该显示一个对话窗口,要求用户验证他们在表单上输入的信息。仅当表单已经过验证时,才会显示此对话框窗口。这是我的代码:
$('#form').submit(function(){
fillVerificationDialog(); /* This loads up the dialog with form data */
if (('#form').valid()){
$('verification_dialog').dialog('open');
return false;
}
});
我的对话窗口没有显示。它只是提交表格。我通过使用检查$('#form')值的警报来验证表单是否有效。有效()
如果我删除了if语句并且只有打开对话框的行,则会显示该对话框。但是,即使表单有错误也会显示,这正是我想要阻止的。
答案 0 :(得分:1)
确保在尝试打开对话框之前初始化对话框。
$('#verification_dialog').dialog({ autoOpen: false });
在选择器中缺少#。由于您要使用的选择器很可能是div的id,因此对话框无法打开,因为它缺少#。
$('#verification_dialog').dialog('open');
答案 1 :(得分:0)
您确定在提交和设置对话框之前在表单上调用了validate吗?
$('#form').validate();
$('#verification_dialog').dialog({
autoOpen: false,
buttons: {
'OK': function() {
... do form submission...
},
'Cancel': function() {
$(this).dialog('close');
}
}
});
$('#form').submit(function(){
if (('#form').valid()){
fillVerificationDialog(); /* This loads up the dialog with form data */
$('#verification_dialog').dialog('open');
}
return false;
});