Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的客户端cookie_Javascript_Cookies - Fatal编程技术网

javascript中的客户端cookie

javascript中的客户端cookie,javascript,cookies,Javascript,Cookies,长期用户第一次海报。当书籍让我失望时,这个网站给了我很多答案。回答我的问题 我正在尝试创建一个购物车。每次单击subit/add按钮时,我都想创建一个新的cookie。我以为我能用这段代码做到这一点 var cookieName = document.cookie; var splitCookieName; splitCookieName = cookieName.split(";"); for( var i =0; i <= splitCookieName.length; i++) {

长期用户第一次海报。当书籍让我失望时,这个网站给了我很多答案。回答我的问题

我正在尝试创建一个购物车。每次单击subit/add按钮时,我都想创建一个新的cookie。我以为我能用这段代码做到这一点

var cookieName = document.cookie;
var splitCookieName;
splitCookieName = cookieName.split(";");
for( var i =0; i <= splitCookieName.length; i++)
{
    var cartItemNumber;
    if (splitCookieName[i].slice(0,8) == "cartItem")
    { 
        cartItemNumber = parseInt(splitCookieName[i].slice(8));

        alert(cartItemNumber);
        itemCount = cartItemNumber + 1;
        alert(itemCount);
    } 
}
var newItem = "cartItem" + itemCount;
setCookie(newItem, "", expiryDate);
但是,每次我运行它时,它只会提醒我cartitemnumber为1,ItemCount为2。所以我想我的问题是为什么它总是一加二?我想我读到一些东西说,这是因为它不在服务器上,所以它的行为不同。这是真的吗?或者我的代码中有错误,我看不到

项目计数的初始值为1

我还遇到了获取此代码中最后一个警报的问题。google chrome甚至不喜欢它,也不会运行它,allSelects[i].id存在问题,出于某种原因不喜欢选项部分。然而,当我在firefox中运行时,它不会提醒我最后一行。但是,如果我把这条线放在for循环中,它就会一遍又一遍地运行。代码在这里

setCookie(newItem, "", expiryDate);

productType = document.getElementById("product");
priceType = document.getElementById("price");

setField(newItem, productType.id, productType.value, expiryDate);
setField(newItem, priceType.id, priceType.value, expiryDate);


allSelects = new Array;
allSelects = document.getElementsByTagName("select");

for(var i = 0; i <= allSelects.length; i++)
{
    setField(newItem, allSelects[i].id, allSelects[i].options[allSelects[i].selectedIndex].text, expiryDate);
}
alert(getField(newItem, "quantity") + " " + getField(newItem, "product") + " added to your shopping cart.");}

非常感谢您的帮助。

解决了我自己的问题。我正在着手在拆分后添加一个空格;B我在做a,虽然我的最后一个警报仍然不想工作。