简体   繁体   English

我怎样才能使本地存储获得 2 个不同的值?

[英]how can i make Local Storage get 2 different value?

i've tried to make an simple app, its only user input and show the output, and now i tried to make local Storage.我试图制作一个简单的应用程序,它只有用户输入并显示 output,现在我尝试制作本地存储。 can anyone help me plis谁能帮我

this is my code这是我的代码

html html

<aside class="input">
  <form action="#" id="form">
    <div class="form-section">
      <label for="name">Input Name</label>
      <input type="text" id="name">
    </div>
    <div class="form-section">
      <label for="title">Input Name</label>
      <input type="text" id="title">
    </div>
    <button class="submit-btn">Submit</button>
  </form>
</aside>

JavaScript JavaScript

localStorage = "itsStorage";
function addVal() {
  const takeName   = document.getElementById("name").value;
  const takeTittle = document.getElementById("title").value;
  const wrapIt     = wrapper(takeName,takeTittle);
  const list       = document.getElementById("list");
  localStorage.setItem(takeName, takeTittle);
}
function wrapper(itsName, itsTittle) {
  const name       = document.createElement("h2");
  name.innerText   = itsName;
  const tittle     = document.createElement("p");
  tittle.innerText = itsTittle;
  const div        = document.createElement("div");
  div.classList.add("list");
  div.append(name, tittle);
  const outList    = document.querySelector(".list-output");
  outList.append(div);
  localStorage.getItem(name, tittle);
}

Something more like this更像这样的东西

Use stringify to store an array and parse to get it back使用 stringify 存储数组并解析以将其取回

I could not test it since Stacksnippets do not allow localStorage我无法测试它,因为 Stacksnippets 不允许 localStorage

Also I did not code a delete button我也没有编写删除按钮

If you want one, you need to delegate如果你想要一个,你需要委托

There were several other issues I tried to fix, study the code我试图解决其他几个问题,研究代码

window.addEventListener("load", function() {
  const outList = document.getElementById("container");
  const list = localStorage.getItem("list");
  list = list ? JSON.parse(list) || []; // if there is a list already
  list.forEach(({ name, title }) => wrapper(name, title)); // show

  document.getElementById("form").addEventListener("submit", function(e) {
    e.preventDefault(); // stop submission 
    const name = document.getElementById("name").value;
    const title = document.getElementById("title").value;
    const wrapper = wrapper(name, title);
    list.push({ name, title })
    localStorage.setItem("list", JSON.stringify(list));
  });

  function wrapper(name, title) {
    const header = document.createElement("h2");
    header.textContent = name;
    const p = document.createElement("p");
    p.textContentt = title;
    const div = document.createElement("div");
    div.classList.add("list");
    div.append(header)
    div.append(p)

    outList.append(div);

  }
})
<form action="#" id="form">
  <div class="form-section">
    <label for="name">Input Name</label>
    <input type="text" id="name">
  </div>
  <div class="form-section">
    <label for="title">Input Name</label>
    <input type="text" id="title">
  </div>
  <button class="submit-btn">Submit</button>
</form>
<div id="container"></div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM