2014-02-26 57 views
0

我想为html5本地存储的旅客建立一个日记。如何向本地存储中的密钥发送多个值?

这个想法是你填写一个表格:姓名,图片,日期,地点。 并在另一页将这些信息显示

我坚持,因为我不知道我怎么能到1键 给予更多value`s以及如何我自动从 信息后,更改密钥表格已保存。

<form id="localStorage" method="post" action=""> 
    <label>Kies foto:</label> 
    <br/> 
    <input type='file' id="afbeelding" /> 
    <br/> 
    <br/> 
    <label>Onderschrift:</label> 
    <br/> 
    <input type="Onderschrift" name="Onderschrift" id="Onderschrift" class="Opslaan" required /> 
    <br/> 
    <br/> 
    <button onclick="opslaan()" type="button">Verstuur</button> 
</form> 
function opslaan() { 
    var inputOnderschrift = document.getElementById("Onderschrift"); 
    localStorage.setItem("onderschrift", inputOnderschrift.value); 
} 
+1

我希望你的意思是一本日记,而不是腹泻(那英语什么diarree意思):) – matthijsb

+0

哈哈。我已经编辑过已经同行评审过的标题:) – KoalaBear

回答

0

可以存储与用户数据的对象(JSON字符串化)。

例如:

var userData = { 
    'name': '', 
    'picture': '', 
    'date': '', 
    'location': '' 
}; 

var inputOnderschrift = document.getElementById('Onderschrift'); 
userData.name = inputOnderschrift.value; 

var inputPicture = document.getElementById('Picture'); 
userData.picture = inputPicture.value; 

// etc. 

localStorage.setItem('userData', JSON.stringify(userData)); 

在你的下一个页面,您可以获取这样的数据:

var userData = JSON.parse(localStorage.getItem('userData')); 
var name = userData.name; 
var picture = userData.picture; 
+0

当你在第二段代码中检索数据时,不用'sessionStorage'应该是'localStorage',对吧?请纠正这一点。 –

+0

感谢您的注意,我已经更新了它。 –

+0

还要将seconf的'userData.name ='...改为'userData.picture ='... –

1

据我所知,本地存储是字符串键/值对。虽然你可以建立一个自定义对象,其字符串化和存储,与此类似:

var myObject = { name: 'myname', address: 'myaddress' }; 
localStorage.setItem("myObject", JSON.stringify(myObject)); 

然后在回来的路上用JSON.parse();返回它回到对象和重新填充表单。

0

我做了一个数组把更多value`s在1个键和它的工作