问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求助layer在form表单事件里无法正常使用

发布网友 发布时间:2022-04-07 07:23

我来回答

2个回答

懂视网 时间:2022-04-07 11:45

一、layui简介:

1、layui是一款采用自身模块规范编写的前端 UI 框架,开源的模块化前 端 UI 框架,区别于那些基于 MVVM 底层的 UI 框架。

2、优点:原生开发模式、模块化、兼容性强

3、layui可作为 PC网页端后台系统与前台界面的速成开发方案

二、目录结构

1.jpg

三、引入方式与表单案例

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>layui_learn_one</title>
 <link rel="stylesheet" href="./layui-2.3.0/css/layui.css"> 
 <script type="text/javascript" src="./layui-2.3.0/layui.js"></script>
 <script>
 layui.use(['form', 'layedit', 'laydate'], function(){
 var form = layui.form
 ,layer = layui.layer
 ,layedit = layui.layedit
 ,laydate = layui.laydate;

 //日期
 laydate.render({
 elem: '#date'
 });
 laydate.render({
 elem: '#date1'
 });

 //创建一个编辑器
 var editIndex = layedit.build('LAY_demo_editor');

 //自定义验证规则
 form.verify({
 title: function(value){
  if(value.length < 5){
  return '标题至少得5个字符啊';
  }
 }
 ,pass: [/(.+){6,12}$/, '密码必须6到12位']
 ,content: function(value){
  layedit.sync(editIndex);
 }
 });

 //监听指定开关
 form.on('switch(switchTest)', function(data){
 layer.msg('开关checked:'+ (this.checked ? 'true' : 'false'), {
  offset: '6px'
 });
 layer.tips('温馨提示:请注意开关状态的文字可以随意定义,而不仅仅是ON|OFF', data.othis)
 });

 //监听提交
 form.on('submit(demo1)', function(data){
 layer.alert(JSON.stringify(data.field), {
  title: '最终的提交信息'
 })
 return false;
 });


 });
 </script>
</head>
<body>
 <form action="">
 <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
 <legend>表单集合演示</legend>
 </fieldset>
 <div>
 <label>单行输入框</label>
 <div>
  <input type="text" name="title" lay-verify="title" autocomplete="off" placeholder="请输入标题" style="width:200px;">
 </div>
 </div>
 <div>
 <label>验证必填项</label>
 <div>
  <input type="text" name="username" lay-verify="required" placeholder="请输入" autocomplete="off">
 </div>
 </div>

 <div>
 <div>
  <label>验证手机</label>
  <div>
  <input type="tel" name="phone" lay-verify="phone" autocomplete="off">
  </div>
 </div>
 <div>
  <label>验证邮箱</label>
  <div>
  <input type="text" name="email" lay-verify="email" autocomplete="off">
  </div>
 </div>
 </div>

 <div>
 <div>
  <label>多规则验证</label>
  <div>
  <input type="text" name="number" lay-verify="required|number" autocomplete="off">
  </div>
 </div>
 <div>
  <label>验证日期</label>
  <div>
  <input type="text" name="date" id="date" lay-verify="date" placeholder="yyyy-MM-dd" autocomplete="off">
  </div>
 </div>
 <div>
  <label>验证链接</label>
  <div>
  <input type="tel" name="url" lay-verify="url" autocomplete="off">
  </div>
 </div>
 </div>

 <div>
 <label>验证身份证</label>
 <div>
  <input type="text" name="identity" lay-verify="identity" placeholder="" autocomplete="off">
 </div>
 </div>
 <div>
 <label>自定义验证</label>
 <div>
  <input type="password" name="password" lay-verify="pass" placeholder="请输入密码" autocomplete="off">
 </div>
 <div class="layui-form-mid layui-word-aux">请填写6到12位密码</div>
 </div>

 <div>
 <div>
  <label>范围</label>
  <div style="width: 100px;">
  <input type="text" name="price_min" placeholder="¥" autocomplete="off">
  </div>
  <div>-</div>
  <div style="width: 100px;">
  <input type="text" name="price_max" placeholder="¥" autocomplete="off">
  </div>
 </div>
 </div>

 <div>
 <label>单行选择框</label>
 <div>
  <select name="interest" lay-filter="aihao">
  <option value=""></option>
  <option value="0">写作</option>
  <option value="1" selected="">阅读</option>
  <option value="2">游戏</option>
  <option value="3">音乐</option>
  <option value="4">旅行</option>
  </select>
 </div>
 </div>


 <div>
 <div>
  <label>分组选择框</label>
  <div>
  <select name="quiz">
  <option value="">请选择问题</option>
  <optgroup label="城市记忆">
  <option value="你工作的第一个城市">你工作的第一个城市</option>
  </optgroup>
  <optgroup label="学生时代">
  <option value="你的工号">你的工号</option>
  <option value="你最喜欢的老师">你最喜欢的老师</option>
  </optgroup>
  </select>
  </div>
 </div>
 <div>
  <label>搜索选择框</label>
  <div>
  <select name="modules" lay-verify="required" lay-search="">
  <option value="">直接选择或搜索选择</option>
  <option value="1">layer</option>
  <option value="2">form</option>
  <option value="3">layim</option>
  <option value="4">element</option>
  <option value="5">laytpl</option>
  <option value="6">upload</option>
  <option value="7">laydate</option>
  <option value="8">laypage</option>
  <option value="9">flow</option>
  <option value="10">util</option>
  <option value="11">code</option>
  <option value="12">tree</option>
  <option value="13">layedit</option>
  <option value="14">nav</option>
  <option value="15">tab</option>
  <option value="16">table</option>
  <option value="17">select</option>
  <option value="18">checkbox</option>
  <option value="19">switch</option>
  <option value="20">radio</option>
  </select>
  </div>
 </div>
 </div>

 <div>
 <label>联动选择框</label>
 <div>
  <select name="quiz1">
  <option value="">请选择省</option>
  <option value="浙江" selected="">浙江省</option>
  <option value="你的工号">江西省</option>
  <option value="你最喜欢的老师">福建省</option>
  </select>
 </div>
 <div>
  <select name="quiz2">
  <option value="">请选择市</option>
  <option value="杭州">杭州</option>
  <option value="宁波" disabled="">宁波</option>
  <option value="温州">温州</option>
  <option value="温州">台州</option>
  <option value="温州">绍兴</option>
  </select>
 </div>
 <div>
  <select name="quiz3">
  <option value="">请选择县/区</option>
  <option value="西湖区">西湖区</option>
  <option value="余杭区">余杭区</option>
  <option value="拱墅区">临安市</option>
  </select>
 </div>
 <div class="layui-form-mid layui-word-aux">此处只是演示联动排版,并未做联动交互</div>
 </div>

 <div>
 <label>复选框</label>
 <div>
  <input type="checkbox" name="like[write]" title="写作">
  <input type="checkbox" name="like[read]" title="阅读" checked="">
  <input type="checkbox" name="like[game]" title="游戏">
 </div>
 </div>

 <div pane="">
 <label>原始复选框</label>
 <div>
  <input type="checkbox" name="like1[write]" lay-skin="primary" title="写作" checked="">
  <input type="checkbox" name="like1[read]" lay-skin="primary" title="阅读">
  <input type="checkbox" name="like1[game]" lay-skin="primary" title="游戏" disabled="">
 </div>
 </div>

 <div>
 <label>开关-默认关</label>
 <div>
  <input type="checkbox" name="close" lay-skin="switch" lay-text="ON|OFF">
 </div>
 </div>
 <div>
 <label>开关-默认开</label>
 <div>
  <input type="checkbox" checked="" name="open" lay-skin="switch" lay-filter="switchTest" lay-text="ON|OFF">
 </div>
 </div>
 <div>
 <label>单选框</label>
 <div>
  <input type="radio" name="sex" value="男" title="男" checked="">
  <input type="radio" name="sex" value="女" title="女">
  <input type="radio" name="sex" value="禁" title="禁用" disabled="">
 </div>
 </div>
 <div class="layui-form-item layui-form-text">
 <label>普通文本域</label>
 <div>
  <textarea placeholder="请输入内容"></textarea>
 </div>
 </div>
 <div class="layui-form-item layui-form-text">
 <label>编辑器</label>
 <div>
  <textarea class="layui-textarea layui-hide" name="content" lay-verify="content" id="LAY_demo_editor"></textarea>
 </div>
 </div>
 <div>
 <div>
  <button lay-submit="" lay-filter="demo1">立即提交</button>
  <button type="reset" class="layui-btn layui-btn-primary">重置</button>
 </div>
 </div>
 </form>
</body>
</html>

更多layui知识请关注layui使用教程栏目。

热心网友 时间:2022-04-07 08:53

你看一下layer的官方演示里边就有在iframe中关闭自身的例子
在你上面的“页面”中,在你提交表单后执行

1
2
3
4

var index = parent.layer.getFrameIndex(window.name); //获取当前窗体索引
$('#提交的元素').on('click', function(){
parent.layer.close(index); //执行关闭
});

你可能需要修改上面的"submit"提交为button提交
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
win10电脑hdmiwin10笔记本hdmi连接电视没反应 平板电脑与电视机联接华为平板怎么投屏到电视上 长虹chiq电脑无线投影如何无线把电脑屏幕投影到电视屏幕上 模拟电视电脑系统智能电视怎么变成电脑系统 ops电脑加装固态硬盘ops电脑是什么意思 我想问一下立宇泰电子的ARMSYS6410开发板可以外接什么模块? 小心那些处理过的2元绿幽灵,教你这几招就能识别! 如何辨别人民币是否水洗过,刚有兴趣做收藏可去买第四套人民币还有是否水... oppor7splus手机怎么样现在?照相好不好。是多会儿出来的机子呢。目前... ps怎么改像素大小且不模糊 下雨天,路面积水,发动机进水了,保险赔么 房地产保险有哪些品种 什么叫房屋建筑保险?赔偿范围有哪些 深圳中兴通讯详细地址 房屋建筑保险的承保范围包括哪些 深圳中兴通讯公司做什么的 平安房屋保险包括哪些内容 深圳中兴通讯股份有限公司在哪儿? 房屋保险包括什么科目 深圳中兴通讯是世界五百强吗 房屋保险包括哪些?房屋保险不赔偿的情况是什么 中兴通讯股份有限公司电话是多少? 你好,美的空调显示P1是什么? 美的空调挂机开一会自己停止,不制冷,空调外机运转缓慢,屏显上显示P1,是什么情况,怎么修理? 空调开一会会显示p1什么意思 收银机怎么切换汉字键盘 收银机怎么拼音打字? 便利店收银机可以练打字吗 顶尖收银机怎么打字呀 收银机如何改成拼音打字 移动宽带电视怎么看短视频 华为nova7信息内容不显示在屏幕怎么设置 戴尔笔记本,从哪能看出来是哪款笔记本 抢票成功率百分之八十,为什么显示抢票中,能抢到票吗,要等多久 抢票80%成功机会有多少 飞猪显示抢票率高会抢到票吗 我现在有一张票但时间不是很满意,抢另一张的话智行上显示成功率80%,可是抢票的话要先把这个退掉, 那个软件可以抢票成功率达到80%以上的 安全事件分类四种 安全事故划分 安全事故划分? 艺术管理专业好就业吗 文化艺术管理专业就业情况 11款的帕萨特怎么蓝牙连接不了 艺术学理论的就业前景怎么样 帕萨特连蓝牙功能键没反应什么情况? 帕萨特领驭这几天蓝牙突然连接不上了,求解释是怎么了,我的5s,以前一直好好的,用车载蓝牙都搜索不了 帕萨特车载蓝牙怎么打不开22款新买的帕萨特刚2O天,车上的蓝牙怎么都打不开_百度问一问 帕萨特蓝牙连接问题 苹果6手机的蓝牙连不上帕萨特领域的车载蓝牙