使用Cookies.js插件的cookie总和值

时间:2017-09-20 17:52:52

标签: javascript php jquery html cookies

我正在使用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作为新值,并在上传文件时仍然计算。

我想要一些帮助。

1 个答案:

答案 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);
}