Fancyapp模式对话框关闭的iFrame
问题描述:
我使用下面的模式弹出脚本: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">
答
由于您只想重定向谁已经成功注册会员,你需要插入代码将用户重定向到注册和/或验证代码的成功功能。
我不能没有你的代码的其余部分解决您的具体的例子,但两种方式来做到这一点是:
选项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'
}
});
}