Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何保存到本地存储_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何保存到本地存储

Javascript 如何保存到本地存储,javascript,jquery,html,Javascript,Jquery,Html,我正在做一个简单的表单,将信息保存到locastorage中,它会保存信息一次,如果您再次尝试,它会保存信息,但会替换旧的信息。是否有一种方法可以在不替换旧信息的情况下将信息添加到locastorag中 HTML: <h2>Entry</h2> <hr><br> <form> <label for="title">Title:<br></label>

我正在做一个简单的表单,将信息保存到locastorage中,它会保存信息一次,如果您再次尝试,它会保存信息,但会替换旧的信息。是否有一种方法可以在不替换旧信息的情况下将信息添加到locastorag中

HTML:

 <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,不知道你的意思。。您仍然可以使用JSON
localStorage[“Entry”]=JSON.stringify(myArrayObject))如果没有其他原因,使用getter和setter是一个好习惯(而引用是一个非常坏的习惯)。