使用javascript的html5本地存储

时间:2014-05-03 19:43:26

标签: javascript html5 storage local

如何使用数组或对象将html源代码保存到HTML 5本地存储中。

例如,我想将以下输入标记作为数组存储到本地存储中(这里是3个数组元素中的3个输入标记)或对象

            <input type="text" class="in1" value="img1">
            <input type="text" class="in2" value="img2">
            <input type="text" class="in3" value="img3"> 

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

本地存储仅在键/值对中存储字符串,因此您将无法存储实际对象或数组。您可以做的是将输入存储在JSON对象中

  var inputs = {
        0:  '<input type="text" class="in1" value="img1">',
        1:  '<input type="text" class="in2" value="img2">',
        2:  '<input type="text" class="in3" value="img3">'
  }

然后你打电话:

   JSON.stringify(inputs)

stringify将以json格式返回一个字符串,您可以将此字符串存储到localStorage

存储:

   localStorage.setItem('inputs', JSON.stringify(inputs))

要将结果作为对象检索,您需要使用JSON.parse

  JSON.parse(localStorage.getItem('inputs'))

答案 1 :(得分:0)

或者还有一个叫做sessionvars的解决方案,不知道确切的网站,但如果你进行搜索,它对于多网站会话存储也非常有用。

答案 2 :(得分:0)

我不确定你为什么这样做,但回答你的问题:

<强> HTML

<div id="container">
    <input type="text" class="in1" value="img1">
    <input type="text" class="in2" value="img2">
    <input type="text" class="in3" value="img3"> 
</div>


的Javascript

localStorage.container = document.getElementById('container').innerHTML;


的jsfiddle
http://jsfiddle.net/jjHTL/