2017-04-24 58 views
1

有一個自舉模式這需要3個輸入:姓名,圖像和描述。我已經想出瞭如何將所有內容保存到本地存儲並將表單輸入加載到我的網頁,但是,文本元素在刷新時消失,所以我希望能夠獲得有關這方面的提示。文本消失上刷新

apply.onclick = function() {      //function executed when form submitted 
    var name = document.getElementById("name2").value;  //save name to a var 
    var description = document.getElementById("description2").value; 
    localStorage.setItem("name", name);     //set name to localStorage 
    localStorage.setItem("description", description); 

    updateProduct(); //function to load into divs from local storage 
} 

function updateProduct(){ 
    $("#title2").html(localStorage.name); 
    $("#desc2").html(localStorage.description); //load name&desciption into divs 
} 

這成功設置名稱和描述在各自的div,但一旦頁面刷新的文字被刪除,並恢復到什麼是「應用」被點擊了。有沒有不同的方法來保存我應該使用的本地存儲的&加載?

+0

向我們展示你的全碼...也許設置一個標誌可以做的伎倆...我認爲,你在你的代碼的另一部分將值分配給localStorage的.... – Hackerman

回答

1

您需要調用updateProduct功能時,您的頁面加載。目前,您只能通過您在此處顯示的內容在onclick處理程序中調用它。

您可以通過這個應用以下方法:要在應用程序初始化過程中應用的應該是你定義你的initApplication功能

document.onreadystatechange = function() { 
    if (document.readyState == "interactive") { 
     initApplication(); 
    } 
} 

什麼。

您可以瞭解這個here上MDN。

+0

你覺得我應該做的這個?我嘗試使用JQuery document.ready函數和$(window).on('load',function(){但這兩個都導致頁面上的其他輸入沒有響應(按鈕不起作用等) –

+0

,但會沒有任何數據,如果沒有點擊曾經發生 – charlietfl

+0

@charlietfl我相信它有,如果沒有曾經被存儲在localStorage的 –