
在现代web开发中,经常会遇到需要在不同html页面之间共享数据的情况。例如,用户在一个表单页面填写了个人信息,我们希望在另一个结果页面或报告页面中展示这些信息,甚至将其用于生成动态内容(如表格)。由于浏览器安全策略的限制,一个html文件无法直接访问另一个html文件的dom元素来获取其内部数据。这时,我们需要一种机制来实现跨页面的数据传递。
解决这一问题的常用且有效的方法是利用浏览器提供的客户端存储机制,其中 localStorage 是一个非常适合的选项。localStorage 允许Web应用程序在用户的浏览器中存储键值对数据,这些数据即使在浏览器关闭后也依然保留,并且在同一域名下的所有页面都可以访问。
首先,我们需要在包含表单的HTML页面(源页面)中捕获用户输入的数据,并将其存储到 localStorage。
以下是一个示例 my_html.html,演示如何捕获学生姓名和ID,并将其存储:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>学生信息录入</title>
</head>
<body>
<h1>录入学生信息</h1>
<form id="studentForm">
<label for="student-name">学生姓名:</label>
<input id="student-name" type="text" placeholder="请输入学生姓名" required>
<br><br>
<label for="student-id">学生学号:</label>
<input id="student-id" type="text" placeholder="请输入学生学号" required>
<br><br>
<button type="submit">提交信息</button>
</form>
<script>
// 获取表单元素
const form = document.getElementById("studentForm");
// 监听表单提交事件
form.addEventListener("submit", function(event) {
// 阻止表单默认提交行为,防止页面刷新
event.preventDefault();
// 获取输入框的值
const studentName = document.getElementById('student-name').value;
const studentId = document.getElementById('student-id').value;
// 将数据封装成一个J*aScript对象
const studentObj = {
name: studentName,
id: studentId
};
// 将J*aScript对象转换为JSON字符串并存储到localStorage
// key为"studentData",value为JSON字符串
localStorage.setItem("studentData", JSON.stringify(studentObj));
// 可选:提交成功后跳转到另一个页面
window.location.href = "other.html";
});
</script>
</body>
</html>代码说明:
数据存储到 localStorage 后,任何在同一域名下的其他HTML页面都可以访问它。在目标页面,我们需要从 localStorage 中检索数据并将其用于展示。
以下是一个示例 other.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>
</head>
<body>
<h1>学生信息详情页</h1>
<p>欢迎来到学生信息详情页面。</p>
<div class="aritcle_card">
<a class="aritcle_card_img" href="/ai/1275">
<img src="https://img.php.cn/upload/ai_manual/001/431/639/68b6da8ca7356656.jpg" alt="Facetune">
</a>
<div class="aritcle_card_info">
<a href="/ai/1275">Facetune</a>
<p>一款在线照片和视频编辑工具,允许用户创建AI头像</p>
<div class="">
<img src="/static/images/card_xiazai.png" alt="Facetune">
<span>109</span>
</div>
</div>
<a href="/ai/1275" class="aritcle_card_btn">
<span>查看详情</span>
<img src="/static/images/cardxiayige-3.png" alt="Facetune">
</a>
</div>
<div id="studentDetails">
<p><strong>姓名:</strong> <span id="display-name"></span></p>
<p><strong>学号:</strong> <span id="display-id"></span></p>
</div>
<script>
// 从localStorage中获取存储的JSON字符串
const studentDataString = localStorage.getItem("studentData");
// 检查数据是否存在
if (studentDataString) {
// 将JSON字符串解析回J*aScript对象
const studentObj = JSON.parse(studentDataString);
// 将数据显示在页面上
document.getElementById('display-name').textContent = studentObj.name;
document.getElementById('display-id').textContent = studentObj.id;
console.log(`在 "${document.title}" 页面获取到学生信息 - 姓名: ${studentObj.name}, 学号: ${studentObj.id}`);
} else {
document.getElementById('studentDetails').innerHTML = "<p>未找到学生信息。</p>";
console.log("localStorage中未找到学生信息。");
}
</script>
</body>
</html>代码说明:
在使用 localStorage 进行跨页面数据传输时,需要考虑以下几点:
通过 localStorage 实现HTML页面间的数据共享是一种简单而强大的客户端解决方案。它允许开发者在不依赖后端服务器的情况下,在不同页面之间传递非敏感、少量的数据。理解其工作原理、限制和最佳实践,可以帮助我们构建更流畅、用户体验更好的Web应用。在实际开发中,根据数据量、敏感度和持久性需求,可以选择 localStorage、sessionStorage、URL参数、Cookies 或后端数据库等不同的数据传输策略。
以上就是HTML页面间数据共享教程:利用LocalStorage传递表单输入值的详细内容,更多请关注其它相关文章!
# java
# 兴城大连网站建设方案
# 网站优化公司哪家正规
# 如何加强营销推广力度
# 莱阳网站优化多少钱
# 贵阳seo排名收费
# 邯郸seo公司首选11火星
# 谷歌网站优化公司贵阳
# 新疆网站建设和推广
# 襄阳抖音seo效果
# 如何在
# 转换为
# 不适合
# 请输入
# 客户端
# 这是
# 是一个
# 序列化
# 表单
# htm
# ai
# 后端
# session
# 端口
# 浏览器
# cookie
# json
# js
# html
# javascript
# 永康seo托管
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
2025考研成绩查询时间入口分享
如何修改Windows截图的默认保存位置_告别C盘让桌面更整洁【教程】
《理想汽车》权限管理设置方法
OPPO手机参数配置如何开启护眼模式_OPPO手机参数配置护眼模式开启指南
搜狗浏览器如何查找页面中的文字 搜狗浏览器Ctrl+F页面搜索功能
J*aScript 数值去小数位处理:多种方法与实践
抖音号升级成企业资质怎么弄?有什么好处?
Google Cloud Functions 时区处理指南:理解与最佳实践
苹果手机缓存怎么清除_苹果手机缓存如何清除iphone各版本操作步骤
Lar*el Socialite单设备登录策略:实现用户唯一会话管理
使用CSS :has() 选择器实现父元素样式控制:从子元素反向应用样式
泰拉瑞亚网页版在线登录入口 泰拉瑞亚官方正版入口
《搜书吧》阅读书籍方法
优酷下载视频的清晰度怎么选_优酷缓存清晰度设置与选择指南
原子笔记app误删找回教程
优化Flask模板中SQLAlchemy查询迭代标签:处理字符串空格问题
海棠阅读登录教程_详细讲解海棠登录操作
一点万象签到领积分指南
视频号视频怎么提取文案?提取的文案如何优化与使用?
MySQL多重JOIN技巧:高效关联同一表获取多角色信息
优化Leaflet弹出层图片显示:条件渲染策略
Python测试中模块导入路径解析的最佳实践
红手指专业版app注册教程
VS Code的时间线(Timeline)视图:您的代码时光机
悟空浏览器网页版在线工具 悟空浏览器网页版在线平台入口
Python自动化抓取GBGB赛狗比赛结果:日期范围与赛道筛选教程
疯狂小鸟微信小游戏入口 疯狂小鸟网页版秒玩
macosmonterey系统外接显示器驱动怎么安装_macosmonterey外接显示器驱动与分辨率调整
秋风萧瑟洪波涌起中的萧瑟指的是什么
Go Goroutine调度与并发执行深度解析
汽水音乐车机版官网5.0 汽水音乐车机版5.0版本下载入口
Chart.js 教程:自定义插件实现图表与图例间距调整
百度网盘如何设置上传限额
如何在CSS中使用absolute实现登录弹窗居中_transform translate结合
如何在mysql中使用索引提示_mysql索引提示优化方法
Dagster资产间数据传递与用户配置管理教程
Python项目中的条件导入:解决跨模块依赖问题
在PHP环境中正确加载HTML资源:CSS样式与图片路径指南
VB表达式书写规则解析
如何在vscode中关闭it环境
《气泡星球》兑换码礼包大全
AO3中文入口稳定分享_AO3官网HTTPS看文详解
PPT页面尺寸怎么修改 PPT自定义幻灯片大小与方向设置【教程】
iPhone 13 mini如何清理Safari缓存_iPhone 13 mini浏览器缓存清理方法
iphone16系列配置参数介绍
使用document.execCommand实现Web文本编辑器加粗/取消加粗
CodeIgniter 3 连接 SQL Server:正确获取查询结果的教程
Sublime怎么自动添加CSS前缀_Sublime安装Autoprefixer插件
百度输入法在AutoCAD中无法输入中文怎么办_百度输入法CAD输入异常解决方法
C++ priority_queue怎么用_C++优先队列底层实现与自定义比较器
2025-10-09
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。