新闻中心
使用 J*aScript 更新元素中的输入值

本文档旨在指导开发者如何使用 J*aScript 动态更新 HTML 元素中的输入值,并提供两种实现方法:直接更新和利用表单。此外,还介绍了如何使用 LocalStorage 持久化存储消息,以便在页面刷新后保留数据。
方法一:直接更新元素
这种方法直接获取输入元素的值,并在点击事件发生时,将这些值添加到新的元素中。
HTML 结构:
<div class="msg">
<div class="items"></div>
<div class="input">
<input type="text" class="name" placeholder="Name">
<input type="text" class="message" placeholder="Message">
<button id="button">Submit</button>
<button type="reset">Reset</button>
</div>
</div>CSS 样式:
html, body {
padding: 0;
margin: 0;
}
.msg {
padding: 2em;
margin: 2em;
border-radius: 2vh;
height: 70vh;
display: flex;
align-items: center;
justify-content: left;
flex-direction: column;
background-color: #1e90ff;
}
.items {
height: 65vh;
overflow: scroll;
color: white;
width: 100%;
overflow-x: hidden;
margin: 10px;
}
input {
padding: 10px;
border: none;
border-radius: 8px;
outline: none;
font-size: 1em;
}
#button {
padding: 10px 20px;
border-radius: 8px;
border: none;
font-size: 1em;
}
.button {
padding: 10px 20px;
border-radius: 8px;
border: none;
font-size: 1em;
}
.message-item {
background-color: black;
padding: 1em;
border-radius: 8px;
margin: 3px;
}J*aScript 代码:
BizPower CRM客户管理系统
通过使用BizPower CRM解决方案,您的员工、生产过程及信息能够与客户保持着平稳、无间断的联络,并且能够通过以客户为焦点、创新的产品和服务;以客户为中心,更高层次的生产过程;持久有益的客户关系这三个方面创造有价值客户的领导关系。选择Bizpower CRM的原因1、灵活的数据权限和功能权限BizPower CRM 系统通过引入了灵活的数据权限和功能权限,模仿现实中协同工作的实际情况。 实现企
0
查看详情
const
name = document.querySelector('.name'),
message = document.querySelector('.message'),
btn = document.getElementById('button'),
div = document.querySelector('.items');
const handleAdd = (e) => {
div.insertAdjacentHTML('beforeend', `
<div class="message-item">
<h3>${name.value}</h3>
<p>${message.value}</p>
</div>
`);
name.value = ''; // Clear name
message.value = ''; // Clear message
};
btn.addEventListener('click', handleAdd);代码解释:
- 首先,获取需要的 DOM 元素:name 输入框,message 输入框,button 按钮,以及 items 容器。
- handleAdd 函数:
- 使用 insertAdjacentHTML 方法在 items 容器的末尾插入一个新的 div 元素,该元素包含 name 和 message 的值。
- 清空 name 和 message 输入框的值,以便用户输入新的内容。
- 为 button 按钮添加点击事件监听器,当点击按钮时,执行 handleAdd 函数。
注意事项:
- 确保在 J*aScript 代码中正确获取了 DOM 元素。
- 使用 insertAdjacentHTML 方法可以方便地插入 HTML 代码。
- 在添加完元素后,清空输入框的值,可以提高用户体验。
方法二:使用表单
使用表单可以更好地利用浏览器提供的功能,例如表单验证、提交和重置。
HTML 结构:
<div class="msg">
<div class="items"></div>
<form id="new-msg" autocomplete="off">
<input type="text" name="name" placeholder="Name" required>
<input type="text" name="message" placeholder="Message">
<button type="submit" class="form-btn">Submit</button>
<button type="reset" class="form-btn">Reset</button>
</form>
</div>CSS 样式:
html, body {
padding: 0;
margin: 0;
}
.msg {
padding: 2em;
margin: 2em;
border-radius: 2vh;
height: 70vh;
display: flex;
align-items: center;
justify-content: left;
flex-direction: column;
background-color: #1e90ff;
}
.items {
height: 65vh;
overflow: scroll;
color: white;
width: 100%;
overflow-x: hidden;
margin: 10px;
}
input {
padding: 10px;
border: none;
border-radius: 8px;
outline: none;
font-size: 1em;
}
.form
-btn {
padding: 10px 20px;
border-radius: 8px;
border: none;
font-size: 1em;
}
.message-item {
background-color: black;
padding: 1em;
border-radius: 8px;
margin: 3px;
}J*aScript 代码:
const handleAdd = (e) => {
e.preventDefault(); // Prevent page from n*igating
const
form = e.target,
formElements = form.elements,
parent = form.closest('.msg'),
items = parent.querySelector('.items');
items.insertAdjacentHTML('beforeend', `
<div class="message-item">
<h3>${formElements.name.value}</h3>
<p>${formElements.message.value}</p>
</div>
`);
formElements.name.value = ''; // Clear name
formElements.message.value = ''; // Clear message
formElements.name.focus();
};
document.forms.namedItem('new-msg')
.addEventListener('submit', handleAdd);代码解释:
- handleAdd 函数:
- e.preventDefault() 阻止表单的默认提交行为,防止页面刷新。
- 获取表单元素:form,formElements,parent,items。
- 使用 insertAdjacentHTML 方法在 items 容器的末尾插入一个新的 div 元素,该元素包含 name 和 message 的值。
- 清空 name 和 message 输入框的值。
- 使用 formElements.name.focus() 将焦点设置到 name 输入框,方便用户继续输入。
- 使用 document.forms.namedItem('new-msg') 获取名为 new-msg 的表单,并为其添加 submit 事件监听器,当表单提交时,执行 handleAdd 函数。
注意事项:
- 使用表单可以利用浏览器提供的验证功能,例如 required 属性。
- e.preventDefault() 阻止表单的默认提交行为非常重要。
- 使用 formElements.name.focus() 可以提高用户体验。
方法三:使用 LocalStorage 持久化存储
如果需要在页面刷新后保留消息,可以使用 LocalStorage。
J*aScript 代码:
const MESSAGES_KEY = "messages";
const main = () => {
// Restore all messages
const messageContainer = document.querySelector(".items");
__retrieveAllMessages().forEach((message) => {
insertMessage(message, messageContainer);
});
// Add event listener
document.forms.namedItem("new-msg").addEventListener("submit", handleAdd);
};
const s*eMessage = (message) => {
__s*eAllMessages(__retrieveAllMessages().concat(message));
};
const insertMessage = (message, container) => {
container.insertAdjacentHTML("beforeend", messageToHtml(message));
};
const messageToHtml = ({ name, message }) => `
<div class="message-item">
<h3>${name}</h3>
<p>${message}</p>
</div>
`;
const handleAdd = (e) => {
e.preventDefault(); // Prevent page from n*igating
const form = e.target,
message = {
name: form.elements.name.value,
message: form.elements.message.value,
};
s*eMessage(message);
insertMessage(message, form.closest(".msg").querySelector(".items"));
form.elements.name.value = ""; // Clear name
form.elements.message.value = ""; // Clear message
form.elements.name.focus();
};
const __retrieveAllMessages = () => {
return JSON.parse(localStorage.getItem(MESSAGES_KEY) ?? "[]");
};
const __s*eAllMessages = (messages = []) => {
return localStorage.setItem(MESSAGES_KEY, JSON.stringify(messages));
};
main();代码解释:
- MESSAGES_KEY 定义了 LocalStorage 中存储消息的键名。
- main 函数:
- 在页面加载时,从 LocalStorage 中恢复所有消息,并将其添加到 items 容器中。
- 为表单添加 submit 事件监听器。
- s*eMessage 函数:将新的消息添加到 LocalStorage 中。
- insertMessage 函数:将消息添加到 items 容器中。
- messageToHtml 函数:将消息对象转换为 HTML 字符串。
- handleAdd 函数:
- 阻止表单的默认提交行为。
- 获取表单元素的值,并创建一个消息对象。
- 将消息保存到 LocalStorage 中。
- 将消息添加到 items 容器中。
- 清空输入框的值,并将焦点设置到 name 输入框。
- __retrieveAllMessages 函数:从 LocalStorage 中获取所有消息。
- __s*eAllMessages 函数:将所有消息保存到 LocalStorage 中。
注意事项:
- LocalStorage 存储的数据是字符串,因此需要使用 JSON.stringify 和 JSON.parse 方法进行转换。
- LocalStorage 存储的数据大小有限制,一般为 5MB。
- LocalStorage 存储的数据是持久化的,即使关闭浏览器,数据仍然存在。
总结:
本文档介绍了三种使用 J*aScript 更新 HTML 元素中输入值的方法,并提供了详细的代码示例和解释。开发者可以根据自己的需求选择合适的方法。使用表单可以更好地利用浏览器提供的功能,而使用 LocalStorage 可以持久化存储数据。
以上就是使用 J*aScript 更新元素中的输入值的详细内容,更多请关注其它相关文章!
# 客户管理系统
# 网站链接推广包括
# 亳州网站推广哪家便宜些
# 泰安seo优化排名公司
# 供电公司网站建设
# 通化网站优化团队推荐
# 网站建设基础软件
# 百度seo高级指令
# 梅州seo网络推广方案
# 网站建设维护造价
# seo名言
# 拖拽
# 自己的
# 如何使用
# 新和
# 自定义
# css
# 复选框
# 清空
# 输入框
# 表单
# over
# 表单提交
# 点击事件
# 持久化存储
# ai
# 浏览器
# json
# js
# html
# java
# javascript
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
在J*a中如何开发简易仓库管理与库存统计_仓库管理库存统计项目实战解析
AO3最新官网入口公告_2025AO3镜像站实时查询方法
漫蛙漫画官方主页入口 漫蛙MANWA网页直达访问链接
J*a 递归快速排序中静态变量的状态管理与陷阱
AWS EC2实例间SQL Server连接超时:安全组配置与故障排除指南
Typer应用中灵活处理命令行参数的令牌化与解析
Win11蓝牙耳机断连怎么解决 Win11蓝牙设置重新配对与驱动更新【技巧】
快速CSGO开箱网站指南 CSGO开箱平台推荐
如何在Promise链中有效终止错误处理后的执行
ExcelARRAYTOTEXT函数怎么自定义分隔符输出数组文本_ARRAYTOTEXT实现动态生成SQL语句
c++20的std::jthread是什么_c++可中断线程与RAII式管理
深入理解Go语言中Map值与方法接收器的交互:为什么需要临时变量
Python中高效且防溢出的双曲正弦计算:基于对数空间的优化策略
Golang如何使用bytes.Split分割字节切片_Golang bytes切片分割方法
CSS Flexbox如何实现多行排列_flex-wrap wrap自动换行显示
Yandex搜索引擎一键访问入口_俄罗斯Yandex官网免登录
J*aScript中管理异步API调用:确保操作顺序与数据一致性
使用CSS更改登录屏幕输入框中PNG图标颜色的策略与局限性
学习通网页版快速入口 学习通官网网页版直接打开
2026春节假期票务安排_2026春节放假购票指南
在VS Code中配置和运行Dart程序的完整步骤
在J*a中如何隐藏复杂性_使用门面模式组织对象交互
React中useState与局部变量:理解组件状态管理与渲染机制
AngularJS $http POST请求数据传递与Go后端接收实践
css元素hover动画延迟生效怎么办_使用animation-delay调整触发时间
字由网在线版登录地址 字由网网页版安全入口
邮编格式怎么匹配地址_根据邮编格式快速匹配详细地址的技巧
如何为你的Composer包编写自动化测试_集成PHPUnit到Composer的scripts工作流
如何创建独立于主系统的J*a运行环境_隔离式环境搭建策略
星露谷物语官网入口 星露谷物语游戏官网入口
腾讯视频怎么举报不良内容_腾讯视频内容举报流程与违规信息处理方法
Win11怎么查看电脑配置_Win11硬件配置检测工具使用
移动端XML文件怎么转换成Excel 手机和平板上的解决方案
QQ邮箱稳定登录入口_QQ邮箱官方网站网页版使用
Golang如何通过reflect操作map_Golang reflect map操作与遍历技巧
QQ邮箱电脑版登录入口_QQ邮箱官方网站登录平台
Golang如何实现Web接口签名验证_Golang Web接口签名校验开发方法
Python多线程中正确使用sigwait处理SIGALRM信号
PrimeNG Sidebar背景色自定义指南:CSS覆盖与主题化实践
C++如何实现一个装饰器模式_C++设计模式之动态地给对象添加额外职责
处理Kafka消费者会话超时:深入理解消息处理语义与幂等性
ArrayList与LinkedList操作复杂度详解:遍历与修改
C++如何解决segmentation fault_C++段错误调试与原因分析
NVIDIA股价11月重挫12%:下月有望好转 但难回5万亿美元巅峰
电脑屏幕颜色不舒服怎么办_Windows夜间模式与色彩校准教程【护眼技巧】
如何在 Windows 11 中启动游戏手柄设置
抖音DOU+怎么投最有效 抖音付费推广的ROI提升技巧
PHP高效扁平化嵌套数组:使用array_merge与数组解包操作符
Linux如何构建多环境配置管理_Linux多环境配置方案
2025AO3夸克浏览器通道_AO3手机HTTPS安全入口分享


2025-10-12
浏览次数:次
返回列表
-btn {
padding: 10px 20px;
border-radius: 8px;
border: none;
font-size: 1em;
}
.message-item {
background-color: black;
padding: 1em;
border-radius: 8px;
margin: 3px;
}