javascript - 如何从同一个输入框中获取多个输入并存储它们?

标签 javascript html local-storage

我目前正在获取有关新事件的输入并将其存储在本地存储中,如下所示。

<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>

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

最佳答案

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

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

关于javascript - 如何从同一个输入框中获取多个输入并存储它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61512387/

相关文章:

javascript - 在 Cloud9IDE 上用 PHP 创建新文件

html - flex parent 中的图像不会在 chrome 中溢出

javascript - 检查本地存储值

javascript - 普通 OOP Javascript : Treating localStorage as an Array doesn't work?

javascript - 悬停显示多张图片

javascript - 错误 "Maximum update depth exceeded. This can happen when a component calls setState inside useEffect"

javascript - 带进度条的 24 小时倒计时器

类中的 JavaScript/jQuery 变量作用域 (this)

javascript - Intl.NumberFormat 抛出错误 "Uncaught RangeError: Invalid currency code"

html - 简历。仅使用 html/css 创建