0
當我點擊按鈕的拳頭時,保存在cookie中的形式如下:如果我沒有刷新網頁,cookie爲什麼會再次保存json?
1=[{"name":"1","num":"1","classAge":"1","score":"1"}];
,然後我設置輸入的值作爲「」來清除。 但如果我填不F5形式清新的網頁,我將之前保存的數據再次保存:
2=[{"name":"1","num":"1","classAge":"1","score":"1"},{"name":"2","num":"2","classAge":"2","score":"2"}];
而且我不知道why.The代碼如下所列。
oSubmit.addEventListener("click",function(e){
oEvent = e||event;
oEvent.preventDefault();
iNum = oInput[1].value;
var stu = new Object;
stu = student(oInput[0].value,oInput[1].value,oInput[2].value,oInput[3].value);
console.log(typeof stu);
array1.push(stu);
sJson = JSON.stringify(array1);
alert("OK!");
for (var i=0;i<oInput.length;i++) {
oInput[i].value="";
}
setCookie(iNum,sJson,7);
console.log(document.cookie);
})
這個學生功能是做什麼的?請確保包含您的所有代碼。 –
顯示的代碼永遠不會重置'array1'變量,所以是的,每次調用函數時,您都將添加到已經存在於該數組中的任何內容,然後將整個內容保存在cookie中。您可以在函數中添加'var array1 = []',但如果您只想保存當前值,則根本不需要數組,只需保存'JSON.stringify(stu)'即可。順便說一句,你不需要'oEvent = e ||事件;'如果你使用'.addEventListener()','stu = new Object;'是多餘的,因爲你立即覆蓋下一行的那個值。 – nnnnnn
@nnnnnn是的,它是array1造成的麻煩。謝謝〜 – legend