2016-07-27 46 views
0

我目前正在做一个学校项目,我需要激发一个服务器端应用程序。我用什么替代它是“本地存储”,但我有一个问题。一旦用户提交了问题,我就可以在“文本框”堆栈中将文本放在彼此的顶部。一旦他们重新加载,数据仍然会显示。但是我不知道如何在重新加载之后再次堆叠它。下面是我的测试代码我如何让我的提交答案继续堆叠在彼此之上

<!doctype html> 
<html> 
    <head> 



    <body onload="display()"> 

    <input type="text" id="Name"></input> 
    <input type="submit" id="submit" onclick="SavetoStorage()"></input> 


    <p id ="hoho"> 

    </p> 
    <script> 
     var name; 
     var groupOfName = ["Hello", "Chicken", "Pork","Beef"]; 
    function SavetoStorage() { 
     var name = document.getElementById("Name").value; 
     groupOfName[groupOfName.length] = name; 
     var newone = groupOfName; 
     document.getElementById("hoho").innerHTML = newone; 
     localStorage.groupOfName = newone; 

    } 


    function display() { 
     var groupOfName = localStorage.groupOfName; 
     document.getElementById("hoho").innerHTML = groupOfName; 
    } 







    </script> 
    </head> 
    </body> 


</html> 

回答

0

您需要动态加载groupOfName变量,像这样:

var tmp = localStorage.groupOfName; //this is a string 
var groupOfName = Array.from(tmp); //turn it into an array 

希望这有助于给你指出正确的方向

+0

我不知道如何应用它!你介意提供更多方向!谢谢 –

0

可以使用setItem来自localstorage的方法。 它采用2个参数:

  • 键和值

所以你可以做这样的事情:

var inputValue = document.getElementById("Name").value; 
localStorage.setItem("name", inputValue); 

上面的代码设置键“名”和重点保存输入值

因此,现在您可以通过调用另一个称为getItem的本地存储方法来检索该值:

var retrieveValue = localStorage.getItem("name"); 

上面的代码检索项目,该项目是什么?来自输入的值,所以现在你可以将它添加到你的html,只要你愿意

所以这是基础知识,解决方法,所以你可以使用阵列,它是这样的:

//this first part converts your array to string 
localStorage.setItem("names", JSON.stringify(names)); 

//The second part returns your item and coverts it to an array again 
var storedNames = JSON.parse(localStorage.getItem("names"));