Javascript 如何保存到本地存储
我正在做一个简单的表单,将信息保存到locastorage中,它会保存信息一次,如果您再次尝试,它会保存信息,但会替换旧的信息。是否有一种方法可以在不替换旧信息的情况下将信息添加到locastorag中 HTML:Javascript 如何保存到本地存储,javascript,jquery,html,Javascript,Jquery,Html,我正在做一个简单的表单,将信息保存到locastorage中,它会保存信息一次,如果您再次尝试,它会保存信息,但会替换旧的信息。是否有一种方法可以在不替换旧信息的情况下将信息添加到locastorag中 HTML: <h2>Entry</h2> <hr><br> <form> <label for="title">Title:<br></label>
<h2>Entry</h2>
<hr><br>
<form>
<label for="title">Title:<br></label><input type="text" name="title" id="title"><br><br>
<label for="comments">Comments:<br></label><textarea cols="40" rows="4" id="comments"></textarea><br>
<button type="reset" class="button-class" id="add">Submit</button> <br><br>
<a onClick="clearStorage()" style="cursor:pointer"> --> Clear Local Storage <-- </a>
</form>
<div class="entry">
</div>
$(document).ready(function()
{
$('#add').click(function(e)
{
e.preventDefault();
var addText = $('input[name=title]').val();
var addComment = $('textarea#comments').val();
$('.entry').append($('<div class="in-ent"><br><h3>Title:</h3><p> ' + addText + '</p><br><h3>Comments:</h3><p> ' + addComment + '<br></p><br></div>'));
document.getElementById("title").value = "";
document.getElementById('comments').value = "";
save(addText,addComment );
});
});
function save(addText,addComment )
{
var addText =addText;
var addComment = addComment;
var myArrayObject = [];
var entry = new Object();
entry.title = addText;
entry.comments = addComment;
myArrayObject.push(entry );
localStorage.setItem("Entry", JSON.stringify(myArrayObject));
}
function clearStorage() {
console.log("Clearing local storage.");
localStorage.clear();
window.location.href = "index.html";
}
条目
标题:
评论:
提交
无需设置方法,只需使用:
localStorage.lastname=“Smith”代码>
或
localStorage[“lastname”]=“Smith”
必须存储数组而不是简单变量:
var addText =addText;
var addComment = addComment;
var myArrayObject = [];
var entry = new Object();
entry.title = addText;
entry.comments = addComment;
myArrayObject.push(entry );
//First entry when localStorage not exist
if ( localStorage.getItem("Entry") == null )
{
localStorage.setItem("Entry", JSON.stringify(myArrayObject) );
}else{
//get array stored in localstorage
var entries_array = JSON.parse(localStorage.getItem("Entry"));
//Add new entry to the array
entries_array.push(entry);
//Store array
localStorage.setItem("Entry", JSON.stringify( entries_array ) );
}
console.log(JSON.parse(localStorage.getItem("Entry")));
//Output Array of objects
//[Object, Object, Object]
希望这能有所帮助。但是我想用注释来标识标题,这样我就可以保留条目记录。他使用它是有原因的。@Blazemonger,原因是什么?@Pedro,不知道你的意思。。您仍然可以使用JSONlocalStorage[“Entry”]=JSON.stringify(myArrayObject))代码>如果没有其他原因,使用getter和setter是一个好习惯(而引用是一个非常坏的习惯)。