关闭iFrame的Fancyapp Modal Box

时间:2012-07-10 16:28:03

标签: modal-dialog

我正在使用以下模态弹出式脚本:http://fancyapps.com/fancybox/

我有一个带有IFrame的模态弹出窗口。在iFrame中有一个注册表单。当用户注册时,他们被重定向到仅会员页面。目前,它们被重定向到相同的模态窗口中。我想要它以便模态窗口关闭,并且他们点击模态窗口的页面重定向到仅成员链接。

这是javascript:

  $(document).ready(function() {
    $(".various").fancybox({
         'width' : '85%',
         'height' : '86%',
         'paddingTop' : '40',
         'autoScale' : false,
         'transitionIn' : 'none',
         'transitionOut' : 'none',
         'type' : 'iframe'
    });
});

以下是调用模式框的HTML:

<a class="various button" data-fancybox-type="iframe" href="/signup-test">

1 个答案:

答案 0 :(得分:0)

由于您只想重定向已成功注册的成员,因此您需要插入代码以将用户重定向到注册和/或验证代码的成功功能。

如果没有其他代码,我无法解决您的具体示例,但有两种方法可以:

选项1 - 创建Javascript函数

您可以创建一个Javascript函数来关闭iframe并重定向用户。这样做的诀窍是将脚本放在父文档中,以便在iframe关闭后脚本继续执行。

此功能位于父文档中:

function closeiframe_redirect(url){
    $.fancybox.close();
    window.location = url;
}

如果要调用该函数,请插入此代码:

parent.closeiframe_redirect('members_page.html');

选项2 - 在AJAX成功函数中

submitHandler: function (form){
    $.ajax({
    type: 'POST',
    url: 'registration-exec.php',
    data: $("#loginForm").serialize(),
    success: function(data) {   
        if(data == "true") {
            // This closes the Registration Form
            $("#registrationForm").fadeOut("fast");
            window.location = 'members_page.html'
        }
   });
}