2010-02-24 120 views
1

我有一个问题,我想用jQuery解决它。jquery,会话,缓存

我在页面上有一些链接,并希望从链接中获取点击的“文本”。但我需要在另一页上使用此文本。因为当我点击这个锚点时,我离开这个页面,然后转到另一个页面,我需要在第二页上使用这个“获取链接文本”。

我希望这是可以使用浏览器的Cookies与jQuery帮助..

你能帮我,如果可能的话!

谢谢!

回答

5
$("a").click(function(event){ 
    myTarget = $(this).attr('href')+"?txt="+$(this).text(); 
    window.location.href = myTarget; 
}); 

这会将链接的文本作为查询字符串参数传递给下一页,称为“txt”。

这有帮助吗?

+0

+1不滥用饼干。您也可以使用片段标识符(http://www.w3.org/TR/html401/intro/intro.html#fragment-uri)来传递文本。 – 2010-02-24 18:23:06

+0

我同意这一点,但有一个GET参数附加到URL上,例如www.example.com?thelinktext = Thisisthetextofthelink'在请求的页面上看起来有点笨拙(IMO)。 – karim79 2010-02-24 18:33:58

+0

如果你确实很认真避免在这里使用cookies,那么你也可以使用表单发布这个值 - 但是即使这样也会让我的灵魂变得更加黑暗。 – inkedmn 2010-02-24 18:35:50

0

Read here how to set and read cookies - 然后您可以使用onclick=""和onclick return true;的末尾使链接设置cookie,以使其链接到应该在其完成后正确的位置。基本上,

 
<a href="http://google.com" onclick="setCookie('link_title','Go to Google');return true;"> 
Go to Google 
</a> 
1

如何将文本添加到请求参数并在服务器端使用它?

0

使用Cookie插件:

$(document).ready(function() { 
    $('a.something').click(function() { 
     $.cookie('my_cookie', $(this).text()); 
    }); 
}); 


// on your second page 
$(document).ready(function() { 
    $('a.something').text($.cookie('my_cookie')); 
});