jQuery对话框继续单击表单验证事件

时间:2009-11-23 12:30:41

标签: javascript jquery-ui jquery-ui-dialog

在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,它将打开对话框,然后继续点击事件。

如何在提交表单并验证确定后才能继续点击事件?

2 个答案:

答案 0 :(得分:1)

只需在if(valid)语句中添加else子句即可。它应该是:

if (valid) {
   // ajax call to controller
   return true;
}
else return false;

点击不会落空。

答案 1 :(得分:0)

一种简单的方法是始终从链接点击处理程序返回false,然后使用对话框的回调处理程序中的window.open来下载pdf。