1

allCookies 包含我的浏览器 Cookie 列表。我想用这个函数 delCookie() 删除 Cookie,但它只是删除第一个 Cookie,而不是其他 Cookie。我该怎么做才能更新 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();
    }
}
4

1 回答 1

1

它只是删除第一个 Cookie,而不是其他 cookie。

元素的selectedIndex属性仅返回第一个选定选项的索引。要在一个选择中检查所有这些,您需要迭代选项集合:<select>multiple

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,即使用与创建它们时相同的方法。

于 2013-02-11T12:54:30.123 回答