【问题标题】:Fancybox - reload page or load new pageFancybox - 重新加载页面或加载新页面
【发布时间】:2013-06-12 02:13:44
【问题描述】:

我有一个登录链接,它打开一个Fancybox 并询问用户他们的用户名/密码。

我将用户输入发送到 PHP 脚本进行验证,该脚本在出错时返回错误消息,或在成功时重定向到主页。

  • 收到错误消息时,我希望将错误消息重新加载到同一个父 Fancybox 中。

  • 成功后,我希望 Fancybox 关闭并在主窗口中加载主页。

另一个问题是我的 css 没有在 #fancyboxLogin 上加载,但在 $fancybox 上加载正常。

HTML:

<a class="fancyboxLogin fancybox.iframe" href="/login">Log In</a>

JavaScript:

$(document).ready(function () {
    $(".fancybox").fancybox();
});

$(document).ready(function () {
    $(".fancyboxLogin").fancybox({
        type: "iframe",
        afterClose: function () {
            parent.location.reload(true);
        }
    });
});

【问题讨论】:

    标签: php javascript jquery fancybox fancybox-2


    【解决方案1】:

    在html页面中替换

    <a class="fancyboxLogin fancybox.iframe" href="/login">Log In</a>
    

    用这条线

    <a class="fancyboxLogin fancybox.ajax" href="/login">Log In</a>
    

    对于错误消息,您可以简单地使用带有 ajax 的 javascript 函数进行验证,并在 div 标签中显示消息。

    如果验证成功,则只需使用 javascript submit() 函数提交表单,该函数提交登录表单并刷新页面。

    对于 javascript fancybox 脚本,简单地说:

    $(document).ready(function() {
        $(".fancyboxLogin").fancybox({
            maxWidth    : 700,
            maxHeight   : 500,
            fitToView   : false,
            width       : '70%',
            height      : '70%',
            autoSize    : false,
            closeClick  : false,
            openEffect  : 'none',
            closeEffect : 'none'
        });
       });
    

    希望对你有帮助

    【讨论】:

    • 感谢您的回答。但是,我正在尝试做以下事情:我正在使用 php 来验证表单(在禁用 javascript 的情况下),并且由于 php 没有 ajax 功能,我需要重新加载带有错误消息的 fancybox。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    相关资源
    最近更新 更多