2016-07-27 52 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"));