最快实现原生表单重置,点击恢复所有控件为html初始值(如value="默认用户名"),而非清空;必须置于内,不支持js动态设置的值,且不触发input/change事件。

用 <input type="reset"> 最快实现重置
浏览器原生支持表单重置,不需要写 JavaScript。只要在 <form></form> 内放一个 <input type="reset"> 或 <button type="reset"></button>,点击就会把所有表单控件恢复到初始值(即页面加载时的值)。
注意:它重置的是“初始值”,不是“空值”。比如 <input value="默认用户名"> 被改过,点重置会回到“默认用户名”,而不是清空。
-
<button type="reset">重置</button>比<input type="reset">更易自定义样式和文字 - 必须放在
<form></form>标签内才生效;单独放外面无效 - 如果表单用了
value、checked、selected等属性设初始状态,重置才可靠;用 JS 动态设置的初始值不会被识别
用 form.reset() 方法手动触发重置
当需要在 JS 中控制重置时机(比如确认弹窗后才重置),或绑定到非表单内按钮时,调用表单元素的 reset() 方法最直接。
示例:
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
- 必须确保获取到的是
<form></form>元素本身,不是它的子节点 -
reset()不会触发submit事件,但会触发reset事件(可监听) - 对
<textarea></textarea>和<select multiple></select>同样有效,前提是它们有明确的初始value或selected属性
为什么 document.getElementById("xxx").value = "" 不算真正重置
手动清空每个字段看起来简单,但会绕过浏览器的重置机制,带来几个隐性问题:
- 无法还原
checkbox/radio的初始勾选状态(比如默认选中第二个选项,手动设checked = false会错) -
<select></select>的selectedIndex可能被设为 0,但初始选中项未必是第一个 - 若表单有动态添加的字段,手动清空容易漏掉,而
reset()自动覆盖全部 - 不触发
reset事件,依赖该事件的验证逻辑或日志就失效了
遇到重置无效?先检查这三点
常见失效场景基本集中在初始化方式和 DOM 结构上:
- 表单控件没写
value、checked、selected属性 —— 浏览器认为“无初始值”,重置后为空,但你期望的是某个默认值 - 用了框架(如 React、Vue)或 JS 初始化表单值 —— 原生重置只认 HTML 属性,不认 JS 设置的
.value - 按钮不在
<form></form>内,或表单没有id导致getElementById返回null
复杂表单里,“初始值”这个概念比想象中更关键——它由 HTML 属性定义,不是 JS 状态,也不是用户看到的当前内容。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










