在fancybox中单击按钮时将参数传递给afterclose回调

时间:2015-05-15 15:13:14

标签: javascript jquery html laravel fancybox-2

在父html页面中,当我点击链接fancybox对话框打开时,我在该fancybox中加载了一个laravel php视图页面。

当我按下fancybox对话框中的“使用twitter登录”按钮时,我想关闭fancybox并重定向到路线(登录/推特)

当我按下fancybox对话框中的“使用facebook登录”按钮时,我想关闭fancybox并重定向到路线(登录/ facebook)。

要知道路由的位置,我需要知道在afterClose回调函数中单击了哪个按钮。

//parent.php

$(".myDiag").fancybox({
        width       : 900,
        height      : 600,
        maxWidth    :"95%",
        padding     : 0,
        fitToView   : false,
        autoSize    : true,
        autoScale   : true,
        autoDimensions: true,
        closeClick  : false,
        openEffect  : 'none',
        closeEffect : 'none',
        afterClose : function(signupSource)
            {
                if(signupSource)
                {
                    window.location = "<?php echo route('login'); ?>" + "/" + signupSource;
                }   
            }
    });

//js in Fancybox.php


$('#loginWithTwitter').click(funciton(){
    parent.$.fancybox.close('twitter');  // 'twitter' is not getting sent to the afterClose callback function
});

如何将signupSource从Fancybox.php传递给parent.php?

1 个答案:

答案 0 :(得分:0)

将所有这些按钮设置为提交按钮,并根据与其对应的已发布var中收到的值...我知道了注册源。

而不是关闭花哨的盒子。$。fancybox.close();并使用afterClose回调..我使用了target ='_ top',它自动将我的表单数据发布到父窗口,并在发布之前关闭了fancybox。 / p>

Submit a form inside fancybox and redirect the page