layui表单怎么在表单提交成功后重置特定部分字段

酷芳君_3262

酷芳君_3262

2026-11-15

154人浏览

原创

提交后应有选择地清空字段,保留keyword、userId等关键参数;需手动处理laydate、级联select、table.where及upload实例状态,并确保form.render()和DOM/JS状态同步。

layui表单怎么在表单提交成功后重置特定部分字段

提交成功后只清空部分字段,别碰 keyword 和 userId

直接调用 layui.form.reset() 或 form.val('filter', {}) 会全量清空,但实际业务中常需保留搜索关键字、用户 ID、分页参数等。核心是「有选择地覆盖」,而不是「一键重置」。

常见错误现象:提交后调用 form.val('searchForm', {}),结果 #keyword 也被清空了,用户再点搜索还得重新输。

  • 先明确哪些字段要保留(如 keyword、userId、tabIndex),哪些要清空(如 status、category、startTime)
  • 用 form.val('searchForm', { status: '', category: '', startTime: '' }) 只传需要清空的字段,其余字段自动跳过
  • 对日期组件(laydate),必须额外处理:$('#startTime').val(''); + laydateIns && laydateIns.setValue('');
  • 最后必须调用 layui.form.render() 或 layui.form.render('select'),否则下拉框、开关等 UI 不刷新

级联下拉框重置时字段值和选项都要同步清理

比如「省份→城市→区县」三级联动,只清 form.val() 里的值,不清理 DOM 选项或未触发 form.render('select'),会导致后续选择卡死或错位。

  • 清空所有级联字段:form.val('searchForm', { province: '', city: '', district: '' })
  • 紧接着执行 layui.form.render('select', 'searchForm'),确保每个下拉标题栏显示“全部”
  • 如果城市/区县选项是 JS 动态加载的,清空后记得把对应 的 innerHTML 也设为空,避免残留旧
  • 千万别漏掉表格 where 参数:重置后立刻调用 table.reload('userTable', { where: {}, page: { curr: 1 } }),否则下次搜索仍带旧值发请求

upload 组件不会被任何 form.val() 或 reset() 影响

上传列表是纯 JS 管理的状态,和表单 DOM 完全解耦。哪怕你把隐藏的 的 value 设为空,上传列表照样挂着——因为 layui 已在 change 事件里把文件存进了实例的 files 数组。

jQuery金融借款单提交表单
jQuery金融借款单提交表单

jQuery金融借款单提交表单,包含出借金额和日期的选择,且自动计算利息,非常的简单方便。

下载
  • 必须拿到 upload 实例(如 uploadInst),手动清空:uploadInst.files = [];
  • 再调用 uploadInst.reload() 刷新 UI
  • 如果用了多实例(如不同 tab 下多个上传区域),每个都要单独处理,不能靠全局 selector
  • 注意:reload 后若需恢复默认提示文字(如“点击上传”),得配合 text 配置项重设,否则可能显示空白

重置按钮一定要写 type="button",不是 type="reset"

这是最隐蔽也最常出问题的一环。写成 在

内默认就是 type="submit",点一下就触发表单提交,页面跳转或刷新,所有 JS 状态丢失。

  • 重置按钮必须显式声明:
  • 绑定事件时,不要混进 form.on('submit(filter)') ——那是给搜索/提交用的,重置逻辑应独立监听 click
  • 如果搜索表单嵌在 layer 弹窗里,还要确认弹窗没意外继承父页面的
    上下文,否则按钮仍可能触发外层表单
  • 清空动作完成后,建议加一行 $('#resetBtn').blur();,防止焦点残留导致键盘回车再次误触发

真正麻烦的从来不是「怎么清空」,而是「清空之后 UI 是否看起来真的清了」——Layui 的 select、date、upload 全是模拟渲染,DOM 属性改了,JS 状态未必同步,UI 更未必响应。每次重置,本质是在补三处状态:原生 DOM 值、Layui 实例内部值、表格或组件的缓存参数。漏一处,界面上就留个尾巴。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
ajax教程
ajax教程

php中文网为大家带来ajax教程合集,Ajax是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。php中文网还为大家带来ajax的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

3500

4

ajax中文乱码解决方法
ajax中文乱码解决方法

ajax中文乱码解决方法有设置请求头部的字符编码、在服务器端设置响应头部的字符编码和使用encodeURIComponent对中文进行编码。本专题为大家提供ajax中文乱码相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

360

5

ajax传递中文乱码怎么办
ajax传递中文乱码怎么办

ajax传递中文乱码的解决办法:1、设置统一的编码方式;2、服务器端编码;3、客户端解码;4、设置HTTP响应头;5、使用JSON格式。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.15

3333

5

ajax网站有哪些
ajax网站有哪些

使用ajax的网站有谷歌、维基百科、脸书、纽约时报、亚马逊、stackoverflow、twitter、hacker news、shopify和basecamp等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.09.24

1181

6

Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

2026.11.12

40

15

Go-Zero安装与goctl环境配置教程
Go-Zero安装与goctl环境配置教程

本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。

2026.11.12

40

15

Go-Zero零基础入门教程
Go-Zero零基础入门教程

本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。

2026.11.12

20

15

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

140

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

100

13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
ThinkPHP配置开发与CMS后台实战
ThinkPHP配置开发与CMS后台实战

共87课时 | 13.2万人学习

第二十三期_综合实战
第二十三期_综合实战

共89课时 | 11.5万人学习

Layui 快速入门精讲
Layui 快速入门精讲

共5课时 | 1.6万人学习