javascript cookie数组值
我有一个javascript cookies的问题,我已经挣扎了几天。 我有这个函数(与w3几乎相同): 执行此操作时,arrCookies[c_name]不会存储任何值-->arrCookies[c_name]。长度为零 ================================================= 我也有javascript cookie数组值,javascript,arrays,cookies,Javascript,Arrays,Cookies,我有一个javascript cookies的问题,我已经挣扎了几天。 我有这个函数(与w3几乎相同): 执行此操作时,arrCookies[c_name]不会存储任何值-->arrCookies[c_name]。长度为零 ================================================= 我也有 function getCookie(c_name) { var i,x,y,ARRcookies=document.cookie.split(";"); for
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x.indexOf(c_name)==0)
{
if(c_name=='table'){
xxx[i]=x;
xx[i]=y;
}
else if(c_name=='task'){
arr[i]=x;
ar[i]=y;
}
}
}
}
函数getCookie(c_名称)
{
变量i,x,y,ARRcookies=document.cookie.split(“;”);
对于(i=0;i而不是在循环中使用ar[i],使用ar[j]如下:
j=0;
for(i=0;...) {
if(...) {
ar[j]=...;
j = j + 1;
}
}
您看到代码中的错误了吗?改用关联数组,键是cookie名称,值是cookie值 在代码顶部定义一个如下所示的数组:
var arrCookies = {};
然后在函数中输入以下代码:
if (x.indexOf(c_name) == 0)
{
arrCookies[c_name] = y;
}
然后在以后读取cookie值,例如,名为“任务”的cookie:
我这样做了,但它没有“重置”ar,它对脚本没有影响。我尝试的是1)ar=0;--什么都不起作用2)ar=[];--什么都不做3)ar=array();--什么都不做我从FireBug得到以下错误“ar[c_name]未定义”,因为现在需要使用
arrCookies
而不是ar
。我尝试了var xx=新数组(new Array(),new Array());var xxx=new Array(new Array(),new Array());在顶部,函数getCookie(c_name){var i,x,y,ARRcookies=document.cookie.split(“;”);for(i=0;i为什么你坚持这么复杂和不可读的东西?发布你正在使用的导致“未定义”错误的完整代码(用它编辑你的问题)我们将帮助您修复此问题。@ShadowWizard:删除了多余的行。
var arrCookies = {};
if (x.indexOf(c_name) == 0)
{
arrCookies[c_name] = y;
}
var taskValue = arrCookies["task"];