Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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_Json - Fatal编程技术网

Javascript 不追加和替换本地存储中的数据

Javascript 不追加和替换本地存储中的数据,javascript,jquery,json,Javascript,Jquery,Json,对象正在保存到localstorage中,我希望检索该对象并附加到页面中,而且每次提交新表单时我都要更改密钥名称,因此在第一次提交时,key=key,然后在下一次提交表单时,我希望key=key1等 但是我不知道如何做到这一点,有人能帮我吗 var existingData = JSON.parse(localStorage.getItem("key")) || []; $('body').append(existingData); $('form').submit(function() { v

对象正在保存到localstorage中,我希望检索该对象并附加到页面中,而且每次提交新表单时我都要更改密钥名称,因此在第一次提交时,key=key,然后在下一次提交表单时,我希望key=key1等

但是我不知道如何做到这一点,有人能帮我吗

var existingData = JSON.parse(localStorage.getItem("key")) || [];
$('body').append(existingData);
$('form').submit(function() {
var newArray = [];
    $(".add_id2").each(function(){
    newArray.push($(this).val());
});
var newArray2 = [];
    $(".add_id").each(function(){
    newArray2.push($(this).val());
});

var newData = {
  'title': $("#title").val(),
  'ingredients': $("#ingredients").val(),
  'instructions': $("#inst").val(),
  'moreingredients': newArray,
  'moreinstruction': newArray2,
  'img': img,
    };
existingData.push(newData);
localStorage.setItem("key", JSON.stringify(existingData));

您可以创建构造函数并使用新关键字调用它…请看一下这个。希望这对你有帮助

示例:-

function formData(title, ingredients, instructions, moreingredients, img) {
    this.title = title;
    this.ingredients = ingredients;
    this.instructions = instructions;
    this.moreingredients = moreingredients;
    this.img = img;
}


var newData = new formData($("#title").val(), $("#ingredients").val(), $("#inst").val(), newArray, newArray2);

您好@Przemek,请创建一个codepen演示,这样我就可以检查您到底想要实现什么。您现有的代码有什么问题,它是如何失败的?基本上,如果您在表单保存值到本地存储后提交表单,但是如果我用新值再次输入表单,旧值在那里,而不是新值