2015-09-24 2 views
-1

Я сделал небольшую корзину покупок в html с javascript. Вы можете положить товары с помощью куки. Проблема заключается в кнопке удаления для строки в корзине покупок.Удалить cookie в javascript не работает

function cartShow(){ 
intTotalItems = 0; 
intTotalItems = readCookie("totalItems"); 
tabelrow = ""; 

for (i = 1; i <= intTotalItems; i++){ 
    item = "item" + i; 
    del = '<a href=""><img src="img/delete.png" onclick="delete1Cookie();" /> </a>'; 
    thisCookie = ""; 
    thisCookie = readCookie(item); 
    fields = new Array(); 
    fields = thisCookie.split("|"); 
    tabelrow += "<tr>" 
    + "<td>" + fields[0] + "</td>" 
    + "<td>" + fields[1] + "</td>" 
    + "<td>" + fields[2] + "</td>" 
    + "<td>" + fields[3] + "</td>" 
    + "<td>" + fields[4] + "</td>" 
    + "<td>" + fields[5] + "</td>" 
    + "<td>" + fields[4] * fields[5] + "</td>" 
    + "<td>" + del + "</td>" 
    + "</tr>"; 
} 
document.write(tabelrow); } 

function delete1Cookie(){ 
document.cookie = "item1=; 'empty'; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/";} 

Когда я использую свою функцию readCookie (item1); У меня нет проблем. он показывает строку продукта, который я хочу удалить.

Но когда я хочу удалить только один файл cookie, вся моя корзина становится пустой.

В моем коде установлен только один файл cookie для одной строки «item1», потому что я думаю, что я все испробовал, поэтому сначала хотел бы, чтобы он работал только с одной определенной строкой.

Я уже использовал код от: https://stackoverflow.com/a/20156194/4912774 Он удалил все мои файлы cookie: «item1 item2 и т. Д.».

Извините за ошибки это мой первый пост и английский не мой родной язык

+0

Вы можете увидеть набор проверенные функции утилиты cookie здесь: http://stackoverflow.com/questions/20156129/add-cookies-to-input-background-color-change/20156194#20156194. – jfriend00

+0

Не используйте куки для этого материала. Используйте [веб-хранилище] (http://www.w3.org/TR/webstorage/). Он [поддерживается всеми современными браузерами] (http://caniuse.com/#feat=namevalue-storage), не делает ваши HTTP-запросы больше, чем они должны быть, и в отличие от файлов cookie имеет разумный API. –

+0

Кстати, ваш код становится жертвой [* The Horror of Implicit Globals *] (http://blog.niftysnippets.org/2008/03/horror-of-implicit-globals.html). Объявите переменные. –

ответ

0

Удаление конкретного печенья, можно achived использовать, чтобы установить его в прошлом

function deleteCookie(cname) { 
    var d = new Date(); 
    d.setTime(d.getTime() - (24*60*60*1000)); 
    var expires = "expires="+d.toUTCString(); 
    document.cookie = cname + "=" + "" + "; " + expires; 
} 
+0

Это был код, который я также использовал, все еще не работал. 'функция maakCookie (naam, waarde, dagen) { \t если (dagen) { \t \t var datum = new Date(); \t \t datum.setTime (datum.getTime() + (dagen * 24 * 60 * 60 * 1000)); \t \t var verloopdatum = "; expires =" + datum.toGMTString(); \t} \t прочее { \t \t var verloopdatum = ""; \t} \t document.cookie = naam + "=" + waarde + verloopdatum + "; path = /"; } ' – Samichan

Смежные вопросы