首页 > 解决方案 > 如何从同一个输入框中获取多个输入并存储它们?

问题描述

我目前正在接受有关新事件的输入并将它们存储在这样的本地存储中。

<form name="myform" action="" method="GET">
   Event Name: <INPUT TYPE="text" NAME="name" VALUE="" id="input1"><br />
   Event Date and Time: <INPUT TYPE="datetime-local" NAME="date" Value="" id="input2"><br />
   Event Location: <INPUT TYPE="text" NAME="location" VALUE="" id="input3"><br />
   Event Notes: <INPUT TYPE="text" NAME="notes" VALUE="" id="input4"><br />
   <button onclick="storeValues()" type=submit>Submit</button>
</form>

    <script>
   document.getElementById('input1').value = localStorage.getItem("EventName");
   document.getElementById('input2').value = localStorage.getItem("EventDateAndTime");
   document.getElementById('input3').value = localStorage.getItem("EventLocation");
   document.getElementById('input4').value = localStorage.getItem("EventNotes");


function storeValues() {
    localStorage.setItem("EventName", document.getElementById('input1').value);
    localStorage.setItem("EventDateAndTime", document.getElementById('input2').value);
    localStorage.setItem("EventLocation", document.getElementById('input3').value);
    localStorage.setItem("EventNotes", document.getElementById('input4').value);
}
</script>

但我很确定,每当我进行第二次输入时,它都会在本地存储中覆盖它。我将如何更改它以便我可以多次获取这些输入?

标签: javascripthtmllocal-storage

解决方案


如果您希望它们都被存储,那么您必须以不同的方式命名它们。

您可能想要的是本地存储中的值数组,如果我没记错的话,它不能开箱即用?我真的不记得了,但您可能可以将此数组数据序列化/反序列化为 JSON 字符串。


推荐阅读