2013-02-11 47 views
1

allCookies內容我的瀏覽器Cookies的列表。 我想用delCookie()函數刪除Cookies,但它只是刪除第一個Cookie,而不是其他的Cookie。 我怎樣才能更新cookie?如何閱讀和刪除JavaScript的Cookie?

<input type="button" value="DElete" onclick="delCookie()"> 
    <input type="button" value="Update" onclick="modCookie()"> 


<select multiple id="allCookies" size="5"> 
     <!-- Cookies content--> 
    </select><br> 

function delCookie() { 
    if (confirm('Are u sure?')) { 
     var e = document.getElementById("allCookies"); 
     var strUser = e.options[e.selectedIndex].value; 
     document.cookie = encodeURIComponent(strUser) + "=deleted; expires=" + new Date(0).toUTCString(); 
    } 
} 

回答

1

它只是刪除第一個cookie,而不是其他餅乾。

一個<select>元件的selectedIndex屬性只返回第一選擇的選項的索引。要檢查所有的人都在multiple選擇,你會需要遍歷options集合:

var os = document.getElementById("allCookies").options; 
for (var i=0; i<os.length; i++) { 
    if (os[i].selected) { 
     var strUser = os[i].value; 
     … 
    } 
} 

,我怎麼能做到及時更新一個cookie ???

只需覆蓋cookie,即使用與創建cookie時相同的方法。