這是我的情況。 我有一個下拉菜單選擇家中的國家。閱讀cookies返回undefined
如果沒有cookie,我將cookie默認設置爲「US」,然後用戶在新標籤中打開鏈接並轉到結帳頁面,我過濾其他國家並在下拉選擇中僅顯示該選定國家/地區,但一切正常在第一個選項卡上時,它將國家更改爲DE在第二個選項卡上Cookie是DE,但該國仍然是美國。
有兩種選擇,
<select id="country">
<option>Select Country</option>
<option value="US">Select Country</option>
</select>
我想要做的就是
function readCookie(k){return(document.cookie.match('(^|;)'+k+'=([^;]*)')||0)[2]}
或任何其他函數讀取Cookies與這裏的一些描述What is the shortest function for reading a cookie by name in JavaScript?
document.getElementById('country').onchange = function() {
this.options.length = 0;
this.options[1] = new Option(readCookie('country'),readCookie('country'));
this.options[1].setAttribute("selected","selected");
}
他們返回未定義,但當我檢查配置文件時,cookie就在那裏。基本上,我只是想基於cookie的
續約選項,當我做
document.getElementById('country').onchange = function() {
alert(readCookie('country'); //returns undefined
}
我不能讀任何cookie,這很奇怪。 – flakerimi