2013-06-12 100 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