2013-06-12 102 views
1

我有一个登录链接,打开Fancybox并询问用户的用户名/密码。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); 
     } 
    }); 
}); 

回答

2

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

我希望这能有一定的帮助

+0

感谢您的回答。然而,我想要做的是以下几点:我使用PHP来验证表单(在JavaScript被禁用的情况下),并且由于php没有Ajax功能,我需要重新加载fancybox并显示错误消息。 – TimNguyenBSM