2010-12-09 37 views
0

我想知道如何獲得不同的登錄界面,我的網站without更改爲URL名。例如我如何單獨的登錄界面,頁眉頁腳,沒有它

<ul> 
    <li><a href="http://domain.com/login/">Login</a></li> 
</ul> 

如果在Login我想讓它顯示在阿賈克斯彈出用戶點擊。只需顯示登錄密碼錶&。我正在使用ColorBox。例如Outside HTML (Ajax)

如果用戶類型http://domain.com/login/該網頁將包括頁眉,頁腳等

讓我知道要放什麼東西在我的login.php,使其有所不同。

+0

,你必須使自己的彈出式的HTML,你可以使用jquerys方法之一來顯示和隱藏,其他的你可以使用很多可用的jQuery插件 – kobe 2010-12-09 08:01:38

+0

一些很好的鏈接爲http: //yensdesign.com/2008/09/how-to-create-a-stunning-and-smooth-popup-using-jquery/ – kobe 2010-12-09 08:03:21

回答

1

你不需要把任何更改您的http://domain.com/login(潛在的)。您只需將colorBox插件附加到鏈接。它處理彈出窗口和e.preventDefault()呼叫,所以人們不會得到彈出頁面。通常最好給鏈接一個Id或者類(如下所示)。

<ul> 
    <li><a class="loginlink" href="http://domain.com/login/">Login</a></li> 
</ul> 

$('a#loginlink').colorbox({href:"/yourLogin.html"}); 

由於您使用Outside HTML示例,因此可以執行上述操作(用您的實際HTML代替文件名)。

但是,因爲它不是一個令人難以置信的巨大的一段代碼來顯示登錄表單,您可以將其包含在您的網頁(但隱藏),並使用內嵌HTML例如它傳遞給彩盒插件:

$('.loginlink').colorbox({ 
    inline: true, 
    width: "50%", 
    href: "#loginBox" 
}); 

內嵌HTML工作的一個例子:http://jsfiddle.net/jonathon/MHhNX/

0

模糊,

你必須改變你的HTML有點假設您正在使用jQuery

給一個類別名稱爲這個

<a href="http://domain.com/login/" class="loginpopup">Login</a 

$('.loginpopup').click(function() { 
    // construct your html here and show as popup , or you can use existing dialog boxes 
    return false; 
}); 
0

沒有將需要的login.php改變。但是,您需要爲鏈接添加一個onclick處理程序。

看看jQuery來幫你出這一點:http://api.jquery.com/click/

1

嘗試使用URL參數:http://domain.com/login/?ajax=1對Ajax和http://domain.com/login/全頁。

HTML:

<a href="http://domain.com/login/" onclick="ajaxLogin();return false;">Login</a> 
<script type="text/javascript"> 
    function ajaxLogin() { 
     $.ajax({url: 'http://domain.com/login/?ajax=1', ... }); 
    } 
</script> 

PHP:

if (isset($_GET['ajax']) && $_GET['ajax'] == 1) { 
    // ajax form 
} else { 
    // full page 
} 
+0

T他的查詢字符串很好地包含在URL的一部分中。用戶也可以點擊鏈接到AJAX版本的鏈接。 – 2010-12-09 08:06:32