2011-01-25 84 views
3

我有一個靜態會話ID我正在使用,需要將它添加到一個網址點擊時,但似乎無法得到它的權利。如果你去http://www.mysite.com/test.php你重定向,會話ID XYX需要添加,所以正確的URL命中頁面將是http://www.mysite.com/test.php?sessionid=XYX追加URL與會話ID jquery

<a href="http://www.mysite.com/test.php" class="foo">link here</a> 

$('.foo').click(function(){ 
    (this).append(?sessionid=XYX');' 
}); 

我知道這是不對的,所有的文檔伊夫發現要複雜得多比我的需要。謝謝!

+0

我已經發布了一個答案,但現在我不確定我是否回答了正確的問題。你想在頁面加載時更新所有帶`foo`類的鏈接以獲得會話ID,否則直到鏈接被點擊? – 2011-01-25 15:04:35

+0

我需要在鏈接被點擊時附加URL。謝謝! – 2011-01-25 15:07:15

回答

5

這應該添加會話ID和用戶發送到新的URL,使用e.preventDefault使用正常的情況下,停止系統,然後會話ID添加到URL和發送的瀏覽器有:

<a href="http://www.mysite.com/test.php" class="foo">link here</a> 

$('.foo').click(function(e) 
{ 
    e.preventDefault(); 
    window.location = $(this).attr('href') + '?sessionid=XYX'; 
}); 
1

你想改變href屬性,像這樣:

$('.foo').click(function(){ 
    $(this).attr('href', $(this).attr('href') + '?sessionid=XYX'); 
}); 

實際上,我是持懷疑態度的這一會兒 - 我不知道,如果換到URL是要影響鏈接的目的地,但它確實。發生變化,然後完成,默認動作觸發,加載修改後的鏈接。這裏有一個演示: http://jsfiddle.net/Mgv34/

0

用的onClick改變的HREF是危險的,不檢查,如果HREF包含,因爲下次點擊該鏈接給你 「http://www.example.com/test.php?sessionid=XYX?sessionid=XYX

我建議

'會話ID = XYX?
$('.foo').click(function(){ 
    var lHref = $(this).attr('href'); 
    var lStr = '?sessionid=XYX'; 
    if (lHref.indexOf(lStr) < 0) { 
    $(this).attr('href', lHref + lStr); 
    } 
});