2012-07-10 79 views
0

我使用下面的模式弹出脚本:http://fancyapps.com/fancybox/Fancyapp模式对话框关闭的iFrame

我有一个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"> 

回答

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' 
     } 
    }); 
}