javascript
2013-04-01 57 views -1 likes 
-1

這是我用來在我的html頁面上動態發佈一行的代碼,問題是當我刷新頁面時頁面變空了,我想要將該行永久寫在頁面上動態在html頁面上寫入

<html> 
    <br><br>post a question <br> 
    <br><br><textarea id="t"></textarea><br> 
    <br><br><button id='a'>Post</button> 
    <div id='updateDiv'></div> 

    <script language= "javascript"> 
    function displayDate() 
    { 
    var comment = document.getElementById("t").value; 
    var newParagraph = document.createElement('p'); 
    newParagraph.textContent = comment; 
    document.getElementById("updateDiv").appendChild(newParagraph); 
    document.getElementById("t").value = ""; 
    } 

    document.getElementById("a").onclick = displayDate; 
    </script> 
    </html> 
+3

如果你想堅持的數據,您可能需要使用某種類型的服務器技術,如PHP,Java來將數據保存在服務器上,這樣就可以在以後檢索TI。 –

+1

如果您想爲某種目的而在本地保存它,您可以考慮使用cookie,或者如果您只想支持新瀏覽器,則可以考慮使用localStorage –

回答

3

當您刷新頁面時,它向服務器整個頁面的新請求。這意味着它會獲得標記的全新副本,然後再次執行該腳本並添加一個空白段落。沒有辦法改變瀏覽器刷新的這種行爲。

2

你要麼需要使用服務器端語言來存儲值或使用類似的localStorage。使用本地存儲

(function() { 

    var outDiv = document.getElementById("updateDiv"); 

    function displayDate() { 
     var comment = document.getElementById("t").value; 
     var newParagraph = document.createElement('p'); 
     newParagraph.textContent = comment; 
     outDiv.appendChild(newParagraph); 
     localStorage.setItem("data", outDiv.innerHTML); 
     document.getElementById("t").value = ""; 
    } 

    document.getElementById("a").onclick = displayDate; 
    var str = localStorage.getItem("data"); 
    if (str) { 
     outDiv.innerHTML = str; 
    } 

})(); 

JSFiddle

例只要記住,使用本地存儲意味着它僅適用於在該瀏覽器的用戶。如果您希望更多人看到它,則需要使用服務器端解決方案。

相關問題