信息提交后,还没等点确认键, 突然没了.
今天用layui的弹出层插件,发现绑定弹出层到按钮,打开弹窗会闪退。
原因:在form表单中使用了Button按钮,点击的时候会触发默认事件,而form的action我没填,所以就是弹出层会闪退!
解决办法:
方法一:将button标签换成其他的标签,如span就不会出现闪退问题了;
方法二:给button指明类型:type = “button”,因为在form表单中的button默认type = “submit”,改为button就没有表单的默认事件了。
扩展:
layui,是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用。其外在极简,却又不失饱满的内在,体积轻盈,组件丰盈,从核心代码到 API 的每一处细节都经过精心雕琢,非常适合界面的快速开发。layui 首个版本发布于2016年秋,她区别于那些基于 MVVM 底层的 UI 框架,却并非逆道而行,而是信奉返璞归真之道。准确地说,她更多是为服务端程序员量身定做,你无需涉足各种前端工具的复杂配置,只需面对浏览器本身,让一切你所需要的元素与交互,从这里信手拈来。
layui 提供了丰富的内置模块,他们皆可通过模块化的方式按需加载,其中包括:layer、layDate、layPage、laytpl、table、form、upload、element、tree、layeditor、rate、carousel、flow、util、code等。
方法三:
听说是因为 JQuery 的版本冲突问题,在找到具体问题之前,先在代码里加一个 return false 解决问题;
<button class="layui-btn" lay-submit lay-filter="test" onclick="return false;">立即提交</button>
- 1
js:
//监听提交
form.on('submit(test)', function(data) {
console.log(data.field);
layer.confirm("确认要提交吗?", {
title: "单位新增"
,yes:function () {
layer.msg("yes");
}
})