我正在使用cookies.js插件在刷新或关闭标签后保留网站中的值。我通过AJAX上传文件并获取单词编号,我将此值放在输入文本,div和cookie中。
HTML:
<div id="result_words"></div>
<input id="numwords" type="text">
<div id="nw"></div>
使用Javascript:
//I obtain words number (response) via AJAX after upload file
$.post("myfile.php",{
values:values
}).success(function(response){
document.getElementById('result_words').innerHTML += "<input type='hidden' name='wordcount' value='"+response+"'>";
var arr = document.getElementsByName('wordcount');
var tot=0;
for(var i=0;i<arr.length;i++){
if(parseInt(arr[i].value))
tot += parseInt(arr[i].value);
document.getElementById('nw').innerHTML = tot;
}
document.getElementById('numwords').value = tot;
document.getElementById('nw').innerHTML = tot;
Cookies.set("words", tot);
});
当加载页面将Cookie值放在输入和div上时:
var nwords = Cookies.get("words");
if(nwords>=0){
$("#nw").html(nwords);
$("#numwords").val(nwords);
}
这很好用,但是当我刷新并上传另一个文件时,会替换以前的新值,我希望将其与之前的值相加。例如,如果我获得50,然后刷新并上传另外20个单词的值,我想在Cookie,输入和div中获得70作为新值,并在上传文件时仍然计算。
我想要一些帮助。
答案 0 :(得分:0)
最后,我可以找到一个解决方案,将div result_words内容存储为将每个文件的所有字数存储为cookie值:
Cookies.set("words", tot);
var rwords = document.getElementById('result_words').innerHTML;
Cookies.set("wordcnt",rwords);
当我加载页面时添加:
var nwords = Cookies.get("words");
var wcnt = Cookies.get("wordcnt");
if(nwords>=0){
$("#nw").html(nwords);
$("#numwords").val(nwords);
}
if(wcnt!=''){
$("#result_words").html(wcnt);
}