[英]How to store form value as json array to localstorage
I'm trying to append form data as json array in localstorage but it didn't work. 我正在尝试将表单数据作为json数组追加到localstorage中,但是没有用。
Here my form 这是我的表格
<form>
<label>Choose a option</label>
<input type="radio" name="icon" value="icon1.png">
<input type="radio" name="icon" value="icon2.png">
<input type="radio" name="icon" value="icon3.png">
<label>Name</label>
<input type="text" name="name" placeholder="Your Name">
<button type="submit" id="save">Save</button>
</form>
Here's what i'm trying to save. 这就是我要保存的内容。
{
"info": [
{
"name": "John",
"icon": "icon1.png"
},
{
"name": "Daniel",
"icon": "icon2.png"
}
]
}
What I try 我尝试什么
$("form").submit(function(e) {
e.preventDefault();
// serialize `form`
var values = $(this).serializeArray();
values.push(function(item, index) {
$("#test").append(item.name + " " + item.value + "<br>");
})
localStorage.setItem("jsonFav", JSON.stringify(values))
})
Here's what you should do 这是你应该做的
var yourObject = {
"info": [{
"name": "John",
"icon": "icon1.png"
},{
"name": "Daniel",
"icon": "icon2.png"
}]
}
localStorage.setItem('yourObject', JSON.stringify(yourObject));
It will store given json in localstorage. 它将给定的json存储在localstorage中。
var results=localStorage.getItem("json") || {info: []}; $(window).submit(function(evt) { evt.preventDefault(); results["info"].push({ name: $('input[name=name]').val(), icon: $('input[name=icon]:checked').val() }); localStorage.setItem("json", results); }); // To get json as string use JSON.stringify(jsonValue);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form> <label>Choose a option: </label> <input type="radio" name="icon" value="icon1.png"> <input type="radio" name="icon" value="icon2.png"> <input type="radio" name="icon" value="icon3.png"><br> <label>Name:</label> <input type="text" name="name" placeholder="Your Name"><br> <button type="submit" id="save">Save</button> </form>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.