javascript - 通过 JSON 数组/对象循环 HTML 表单数据?
问题描述
我已经在这个网站和互联网上搜索了几个小时,并在之前提出了一个问题,这让我至少更进一步。但是我真的很难理解如何将多个数组保存到我的localStorage
.
我可以使用硬编码数组来理解这个过程,但是一旦我尝试实现localStorage
数据,我就无法理解该怎么做。
这是我到目前为止所尝试的(在另一个 SO 用户的帮助下):
$("#submit").click(function () {
// prepare
var formData = $("#regForm").serializeArray();
// get all stored as Array []
var bookings = JSON.parse(localStorage.getItem('bookings') || '[]');
for (formData = 0; formData < localStorage.length; formData++) {
// insert and save
localStorage.setItem("bookings", JSON.stringify([formData]));
}
});
没有for循环它可以正常工作,但是当我用新数据重新提交表单时,它会替换它而不是创建新索引?
基本上我正在尝试为遛狗创建一个约会计划程序,我需要能够查看每个预订、修改、删除,当然还可以查看预订(所有客户端 - 没有数据库)。
我应该先初始化我的数组吗?如何处理 for 循环?感谢任何帮助,因为我想学习,但我已经在这几个小时没有运气。
解决方案
你可以像下面这样使用。将新值保存在变量中先前存储的值中,并在最后更新本地存储。
$("#submit").click(function () {
var formData = $("#regForm").serializeArray();
var bookings = JSON.parse(localStorage.getItem('bookings') || '[]');
for (formData = 0; formData < localStorage.length; formData++) {
bookings.push(formData)
}
localStorage.setItem("bookings", JSON.stringify(bookings));
});
推荐阅读
- actions-on-google - 是否可以深度链接到谷歌助手应用程序?
- html - Kendo-Grid 截断没有空格的字符串
- c# - 如何获取 httpStatusCode 200 的描述?
- c# - 在 VSTO 中将工作簿存储并打开为“资源”
- flutter - 如何使用颤振代码在颤振中创建这个弹跳方块?
- javascript - React-Firebase 与 webpack 未捕获的 std::bad_alloc 类型的异常:std::bad_alloc
- sql - ADQL 条件搜索
- linux - 关于cronjob执行时间
- python - 在 for loop python selenium web-driver 中运行 3 个变量以打印所有数据,包括链接
- vue.js - Cypress 监视 Vue 组件