2012-05-02 84 views
2

我正在構建一個Web應用程序,其中有一個設置面板。我有一個將數據從表單保存到localStorage的代碼,但是如果有一些數據保存到localStorage,我怎麼能在頁面加載時自動填充表單?使用localStorage填充表單

這是我的表單代碼:

<label for="serveri"> Server: </label> 
<input type='text' name="server" id="saveServer"/> 
<button onclick="save_data()" type="button" value="Save" id="Save" data-theme="a">Save</button> 

<script> function save_data() 
{ var input = document.getElementById("saveServer"); 
localStorage.setItem("server", input.value); 
var storedValue = localStorage.getItem("server"); } 
</script> 

回答

4

所有你需要做的就是添加一個ready方法加載數據。

$(document).ready(function() { 
    $(input[name=server]).val(localStorage.getItem("server")); 
}); 

或非JQuery答案。

function save_data() { 
    // Save functionality here... 
} 

function load_data() { 
    var input = document.getElementById("saveServer"); 
    input.value = localStorage.getItem("server"); 
} 

load_data(); 

只要確保你的form存在之前的任何JavaScript的它被執行來填充。

這是一個工作example

+0

理論上我可以保存整個表單然後將整個表單的值設置爲我在localstorage中保存的表單? –

+0

@DevinPrejean你可以做'localStorage.setItem('Form')= $(form).html();',然後加載html。這可能會有意想不到的缺點。更好的方法可能是掃描表單中的輸入名稱和值,然後將它們保存到Key-Value對象,然後使用JSON將其保存到localstorage。 –