新闻中心
HTML 文件间数据共享教程:通过 localStorage 传递表单输入值

引言:理解跨页面数据传输的需求
在 web 开发中,经常会遇到这样的场景:用户在一个 html 页面中输入了信息(例如填写表单),然后需要将这些信息传递到另一个 html 页面进行展示或进一步处理。原问题中提到的“如何在另一个 html 文件中使用一个 html 文件的类和 id”实际上是对这种数据传输需求的误解。html 元素的类和 id 是其内部 dom 元素的标识符,它们本身不能直接跨文件“使用”。真正的需求是实现不同页面间的数据共享。
本文将介绍一种常用且高效的客户端数据存储机制——localStorage,来解决这一问题。通过 localStorage,我们可以在浏览器中持久化存储数据,使其在用户关闭浏览器后依然存在,并且可以在同一域下的不同页面间共享。
使用 localStorage 进行跨页面数据传输的原理
localStorage 是 Web Storage API 的一部分,它允许 Web 应用程序在用户的浏览器中存储键值对。这些数据以字符串形式存储,并且在浏览器会话结束后仍然保留,除非用户手动清除或通过代码移除。其主要特点包括:
- 持久性: 数据在浏览器关闭后依然存在。
- 同源策略: 只有在同一域下的页面才能访问存储的数据。
- 存储容量: 通常为 5MB 或更大。
- API 简单: 提供 setItem()、getItem()、removeItem() 和 clear() 等方法。
我们将通过两个 HTML 文件来演示这一过程:一个用于收集表单数据(源页面),另一个用于展示这些数据(目标页面)。
步骤一:在源页面中收集并存储数据
首先,我们需要创建一个包含表单的 HTML 页面,当用户提交表单时,我们捕获输入值,并将其存储到 localStorage 中。
HTML 结构 (index.html)
青泥AI
青泥学术AI写作辅助平台
360
查看详情
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>学生信息录入</title>
<style>
body { font-family: Arial, sans-serif; margin: 20px; }
form { background-color: #f4f4f4; padding: 20px; border-radius: 8px; max-width: 400px; margin: auto; }
label { display: block; margin-bottom: 5px; font-weight: bold; }
input[type="text"] { width: calc(100% - 22px); padding: 10px; margin-bottom: 15px; border: 1px solid #ccc; border-radius: 4px; }
button { background-color: #4CAF50; color: white; padding: 10px 15px; border: none; border-radius: 4px; cursor: pointer; font-size: 16px; }
button:hover { background-color: #45a049; }
</style>
</head>
<body>
<form id="studentForm">
<h2>学生信息录入</h2>
<label for="studentName">学生姓名:</label>
<input type="text" id="studentName" placeholder="请输入学生姓名" required>
<label for="studentId">学号:</label>
<input type="text" id="studentId" placeholder="请输入学号" required>
<label for="studentClass">班级:</label>
<input type="text" id="studentClass" placeholder="请输入班级">
<button type="submit">提交信息</button>
</form>
<script>
// 获取表单元素
const form = document.getElementById("studentForm");
// 监听表单提交事件
form.addEventListener("submit", function(event) {
// 阻止表单默认提交行为,避免页面刷新
event.preventDefault();
// 获取输入框的值
const studentName = document.getElementById('studentName').value;
const studentId = document.getElementById('studentId').value;
const studentClass = document.getElementById('studentClass').value;
// 将获取到的数据封装成一个 J*aScript 对象
const studentData = {
name: studentName,
id: studentId,
class: studentClass
};
// 将 J*aScript 对象转换为 JSON 字符串并存储到 localStorage
// 注意:localStorage 只能存储字符串
localStorage.setItem("currentStudent", JSON.stringify(studentData));
// 提交成功后,可以给用户一个反馈,并跳转到目标页面
alert("学生信息已成功保存!");
window.location.href = "display.html"; // 跳转到展示页面
});
</script>
</body>
</html>代码解析:
- event.preventDefault(): 这是关键一步,它阻止了表单的默认提交行为(通常会导致页面刷新或跳转),从而允许我们通过 J*aScript 处理数据。
-
document.getElementById().value: 通过元素的 ID 获取对应的
输入框,并取出其当前的值。 - 创建 J*aScript 对象: 将所有相关数据组织成一个对象,这有助于保持数据结构清晰。
- JSON.stringify(studentData): localStorage 只能存储字符串。因此,我们需要使用 JSON.stringify() 方法将 J*aScript 对象转换为 JSON 格式的字符串。
- localStorage.setItem("currentStudent", ...): 将转换后的字符串存储到 localStorage 中。"currentStudent" 是我们为这组数据定义的键名,后续将通过这个键名来检索数据。
- window.location.href = "display.html";: 在数据存储成功后,我们通常会引导用户到展示数据的页面。
步骤二:在目标页面中检索并使用数据
接下来,我们创建另一个 HTML 页面 (display.html),用于从 localStorage 中读取之前存储的数据,并将其展示出来。
HTML 结构 (display.html)
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>学生信息详情</title>
<style>
body { font-family: Arial, sans-serif; margin: 20px; }
.container { background-color: #e6f7ff; padding: 20px; border-radius: 8px; max-width: 600px; margin: auto; border: 1px solid #91d5ff; }以上就是HTML 文件间数据共享教程:通过 localStorage 传递表单输入值的详细内容,更多请关注其它相关文章!
# 这一
# 宜良谷歌seo新手教学
# seo网站制作步骤
# 海淀视频网站建设
# 南昌放心的网站推广平台
# 口碑营销推广文案
# 旅游投资公司网站建设
# 西安seo矩阵重要吗
# 小红书seo与sem
# 石城seo优化合作
# 温州网站推广哪家有名
# 通常会
# 连接到
# 转换为
# 我们可以
# 键值
# javascript
# 请输入
# 数据结构
# 置顶
# 表单
# red
# 键值对
# 表单提交
# 持久化存储
# win
# ai
# 浏览器
# json
# js
# html
# java
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
Golang如何使用new_Go new分配内存机制讲解
yandex入口引擎手机版 yandex安卓版下载入口
解决macOS Tkinter应用双击启动崩溃:PyInstaller打包指南
美团外卖商家服务中心入口 美团商家版官网入口
支付宝如何设置安全保护_支付宝安全设置的全面教程
taptap防沉迷怎么解除 taptap解除健康系统限制说明【2025最新】
晋江读书网页版在线登录 晋江读书电脑版官网
蛙漫画网页版全站入口 蛙漫热门作品免费浏览
J*aScript生成器_j*ascript异步迭代
MongoDB Aggregation:在嵌套对象数组中精确匹配ObjectId
QQ邮箱官方邮箱登录入口 QQ邮箱网页版快速访问
Pandas DataFrame 高效批量赋值:告别循环与笛卡尔积误区
支付宝碰一碰设备是REDMI手机吗 博主拆机辟谣:处理器、内存都不一样
使用Pandas转换并合并DataFrame:多列映射至统一结构
微博网页版怎么开启两步验证_微博网页版账号安全两步验证设置方法
小红书商家版怎样在笔记嵌入商品卡路径_小红书商家版在笔记嵌入商品卡路径【挂载教程】
腾讯视频怎么使用多账号家庭管理_腾讯视频家庭多账号统一管理与权限分配教程
邮政快递单号查询入口 邮政快递物流信息在线查询入口
C++ string find函数返回值npos详解_C++字符串查找失败的判断条件
为什么简单的XML文件也会解析失败? 检查隐藏的非打印字符(如BOM)的方法
响应式容器内容自动缩放与宽高比维持教程
css滚动动画效果怎么实现_使用Animate.css滚动触发动画类
汽水音乐网页版使用入口_汽水音乐电脑版播放指南
在命令行怎么运行html项目_命令行运行html项目方法【教程】
蛙漫正版漫画平台入口_蛙漫免费阅读全站漫画资源
Yandex搜索引擎官网入口_俄罗斯Yandex免登录一键直达
Python大型XML文件高效流式解析教程
163邮箱官方主页登录 直达网易邮箱登录核心页面
特斯拉自动驾驶房车计划曝光 原型车将于2027年亮相
excel怎么制作工资条 excel快速生成工资条的方法
Win11网速慢怎么解决 Win11网络设置优化解除限速
C++如何实现线程池_C++11手动实现一个简单的固定大小线程池
微博网页版直接访问 微博网页版账号管理快速入口
CSS实现侧边栏导航项全宽圆角悬停背景效果
俄罗斯Yandex搜索引擎入口_Yandex官网免登录一键访问
Win11怎么查看电脑配置_Win11硬件配置检测工具使用
lar*el怎么安全地存储和获取配置文件中的敏感信息_lar*el敏感信息安全存储方法
韩小圈电脑版在线入口_网页版免费登录地址
神庙逃亡小游戏在线玩 神庙逃亡小游戏入口
向日葵客户端怎么进行远程CentOS控制_向日葵客户端远程CentOS控制操作教程
2026年发布! 美少女养成动作RPG《神剑少女战记》发布实机演示
在Qt QML中通过Python字典动态更新TextEdit内容的教程
WordPress插件开发:正确注册卸载钩子与避免常见陷阱
谷歌浏览器怎么给标签页静音_Chrome标签静音快捷操作
必由学官方平台入口 必由学在线课堂登录地址
Python字典中优雅地迭代剩余元素的方法
腾讯QQ邮箱登录入口_QQ邮箱官方网站使用地址
怎样在Excel中做仪表盘_Excel仪表盘设计与关键指标展示方法
J*a编写用户注册与登录功能_掌握字符串与验证逻辑
铁路12306卧铺选择攻略 铁路12306下铺座位预定技巧


2025-10-10
浏览次数:次
返回列表
输入框,并取出其当前的值。