我有一个使用Cookie的应用程序。每次用户点击"添加"时,会将新Cookie创建为具有多个值的项目。 cookie的名称每次增加1。
示例cookie如下所示:
Cookie 1 - 1=value[] stuff[] things[] ect[];
Cookie 2 - 2=value[] stuff[] things[] whatever[];
Cookie 3 - 3=value[] stuff[] things[] 15[];
用户还可以删除将删除cookie的项目。 例如,用户单击cookie上的Delete,然后只剩下cookie 2和3。
然后,当用户单击“提交”时,将这些cookie添加到可见的表中,然后由XML提交。
在提交时,我需要通过名称搜索所有Cookie,以查看哪些存在。然后拿饼干'将值添加到变量中,然后插入到表中。每个cookie将有14个不同的值。我已经找到了添加cookie的部分。问题是检查cookie何时存在。
当用户点击Add:
时,下面的函数会将行添加到表中createCookie(lineItem, ShipLineDesc +'[]' + ShipLineEccn +'[]' + ShipLineQty + '[]' + ShipLineOrg +'[]'
+ ShipLineSchb +'[]' +ShipLineSchBDesc +'[]' + ShipLinePQty + '[]' + ShipLinePUom +'[]'
+ ShipLineSQty + '[]' + ShipLineSUom +'[]' + ShipLineWeight +'[]' + ShipLineTotalWeight
+ '[]' + ShipLineValue +'[]' + ShipLineTotalValue, 9999);
// Read Cookie.
getLine(lineItem);
function getLine(lineItem) {
// If a cookie doesn't exist, return false. Otherwise, insert in to table.
if (document.cookie == "") { return false; }
else {
// Insert line item from Cookie to table.
var vals = readCookie(lineItem).split('[]');
for(var i = 0; i < vals.length; i++) {
a1=vals[0];
b1=vals[1];
c1=vals[2];
d1=vals[3];
e1=vals[4];
f1=vals[5];
g1=vals[6];
h1=vals[7];
i1=vals[8];
j1=vals[9];
k1=vals[10];
l1=vals[11];
m1=vals[12];
n1=vals[13];
}
$('#lineItemTable tr:last').after("<tr id='lineItemTd"+lineItem+"'><td style='border-left:0px;'>"+a1+"</td><td>"+e1+"</td><td>"+f1+"</td><td>"+c1+"</td><td>"+k1+"</td><td>"+m1+"</td><td>"+l1+"</td><td>"+n1+"</td>"
+ "<td><input type='button' value='Edit' onclick='editLine("+lineItem+");' /> <input type='button' value='Del' onclick='delLine("+lineItem+");' /></td></tr>");
// Change lineItem number for next line.
addTheLine();
clearForm();
}
}
// End
我需要弄清楚如何通过他们的名字检查已经存在的cookie(按名称读取所有cookie,获取每个cookie的值)。 名称将始终为1-10。
读取cookie功能如下:
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
// Create Cookie
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = ";expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+";path=/";
}