【问题标题】:Populate form with localStorage使用 localStorage 填充表单
【发布时间】:2012-05-11 19:55:33
【问题描述】:

我正在构建一个 web 应用程序,其中有一个设置面板。我有一个将数据从表单保存到 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> 

【问题讨论】:

    标签: javascript forms jquery-mobile local-storage


    【解决方案1】:

    您需要做的就是添加一个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

    【讨论】:

    • 理论上我能不能只保存整个表单,然后将整个表单的值设置为我保存在本地存储中的表单?
    • @DevinPrejean 你可以做localStorage.setItem('Form') = $(form).html();,然后重新加载html。但这可能有意想不到的缺点。更好的方法可能是扫描表单中的输入名称和值,然后将它们保存到 Key-Value 对象中,然后使用 JSON 将其保存到 localstorage。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多