2010-01-21 72 views
2

我有一個cookie,當用戶點擊以下面的「onclick」事件處理程序的窗體上按鈕我設置...了兩個cookie被保存,但不同的價值觀

<input type="button" 

     OnClick=" 

     alert(document.cookie); 
     var d; 
     d = new Date(); 
     d.setDate(d.getDate() + 365); 

     document.cookie = 'LanguageReference' + '=' + document.forms[0].UserSelectedLanguage.value + ';expires=' + d.toGMTString(); 
     document.forms[0].submit();" >    

該作品很棒,但是當我顯示document.cookie的內容並且多次改變了「LanguageReference」的值時,我注意到了一些奇怪的行爲。 「LanguageReference」cookie將在document.cookie下以不同的值顯示多次。

這是我得到...

LanguageReference=en;LanguageReference=fr;... bunch of other cookies ... 

這似乎並沒有被影響的cookie奇怪的是,這是偉大的檢索。我總是得到我想要的東西。但是我擔心可能存在一個潛在的問題,我並不完全瞭解哪些東西會咬我。

回答

2

在JavaScript中,Cookie被視爲;和=分隔的字符串。在添加新的cookie之前,您應該清除前一個。 cookie處理程序類(或框架的相關部分)使您的生活更輕鬆。

+0

認爲這可能是最好的情況。謝謝回覆。 – 2010-01-21 18:55:31