在pdf下载链接需要打开一个jQuery对话框,并有一个表格,名称,电子邮件和确认复选框。
将在字段上进行一些验证,例如。所需的最小和最大尺寸等......
在页面加载时初始化对话框,并在pdf下载链接上打开对话框。
$("#dialog").dialog({
bgiframe: true,
autoOpen: false,
modal: true,
buttons: {
'Continue': function(){
var valid = true;
valid = valid && checkExists(name, 2, 50);
//valid = valid && checkEmail(email);
valid = valid && checkTrue(agree);
if(valid) {
//ajax call to controller
return true;
}
},
'Cancel': function(){
$(this).dialog('close');
}
}
});
$("a.download-document").click(function(){
$("#dialog").dialog('open');
});
我遇到的问题是,因为我在点击事件中没有返回false,它将打开对话框,然后继续点击事件。
如何在提交表单并验证确定后才能继续点击事件?
答案 0 :(得分:1)
只需在if(valid)语句中添加else子句即可。它应该是:
if (valid) {
// ajax call to controller
return true;
}
else return false;
点击不会落空。
答案 1 :(得分:0)
一种简单的方法是始终从链接点击处理程序返回false,然后使用对话框的回调处理程序中的window.open来下载pdf。