本教程将详细介绍如何利用 Web Storage API 中的 localStorage,在用户刷新页面后依然保留通过表单提交 动态生成的表格行数据。我们将通过创建和管理一个对象数组,并结合 JSON.stringify 和 JSON.parse 方法,实现数据的存储、更新和加载,确保表格内容的持久化显示,从而提升用户体验。
在现代 Web 应用中,用户期望数据能够在页面刷新后依然保留,而不是每次都从头开始。对于动态生成的表格内容,例如通过表单提交添加的行,实现这种数据持久化是提升用户体验的关键。localStorage 提供了一种简单有效的方式来在客户端浏览器 中存储键值对 数据,并且这些数据在浏览器关闭后依然保留。
1. 数据结构设计与初始化
为了有效地存储表格的每一行数据,我们建议使用一个 JavaScript 对象数组。数组中的每个对象代表表格的一行,并包含该行所需的各项数据(如日期、描述、金额、余额等)。
云网OA
采用JSP开发的办公自动化产品、基于B/S结构,运行环境:JDK v1.5、Tomcat v5.5、MySQL v4.1,三者均为以上版本其他相关内容:可视化流程设计: 流程支持串签、会签和分支流程,可以设置流程节点的修改、删除权限,并可指定流程中各个用户在表单中可以填写的域。智能表单所见即所得设计: 智能设计,自动在数据库中生成表格,方便优化程序 公共交流: 集论坛、博客、聊天室于一体文件柜:C
下载
首先,我们需要在应用程序启动时(例如页面加载完成时)检查 localStorage 中是否已存在我们的数据数组。如果不存在,则初始化一个空数组并将其存储起来。
立即学习 “Java免费学习笔记(深入) ”;
// 定义 localStorage 中存储数据的键名
const STORAGE_KEY = "transactionData";
/**
* 获取 localStorage 中的数据数组,如果不存在则初始化为空数组
* @returns {Array} 存储的数据数组
*/
function getStoredData() {
const dataString = localStorage.getItem(STORAGE_KEY);
// 如果 dataString 为 null 或 undefined,则返回空数组
return dataString ? JSON.parse(dataString) : [];
}
/**
* 将数据数组存储到 localStorage
* @param {Array} dataToStore 要存储的数据数组
*/
function saveToLocalStorage(dataToStore) {
localStorage.setItem(STORAGE_KEY, JSON.stringify(dataToStore));
}
// 页面加载时,确保 localStorage 中有初始数据
document.addEventListener("DOMContentLoaded", () => {
// 这一步在 getStoredData() 中已经处理了初始化逻辑
// 但如果想明确地在页面加载时设置一个初始空数组(如果不存在),可以这样做:
if (!localStorage.getItem(STORAGE_KEY)) {
saveToLocalStorage([]);
}
// 接着,加载并渲染已有的表格数据