使用layer弹窗和layui表单实现新增功能


Posted in Javascript onAugust 09, 2018

1.需求:使用layer在弹窗内完成新增,成功后提示并刷新页面(父页面,list页面)

2.实现

  a* 页面效果图  

使用layer弹窗和layui表单实现新增功能

b*页面代码

  --构建from表单

<div id="add-main" style="display: none;">
       <form class="layui-form" id="add-form" action="">
         <div class="layui-form-item center" >
          <label class="layui-form-label" style="width: 100px" >配置名称</label>
          <div class="layui-input-block">
           <input type="text" name="name" required value="" style="width: 240px" lay-verify="required" placeholder="请输入配置名称" autocomplete="off" class="layui-input">
          </div>
         </div>
         <div class="layui-form-item">
          <label class="layui-form-label" style="width: 100px">配置类型</label>
          <div class="layui-input-block">
           <input type="text" name="type" required style="width: 240px" lay-verify="required" placeholder="请输入配置类型" autocomplete="off" class="layui-input">
          </div>
         </div>
         <div class="layui-form-item">
          <label class="layui-form-label" style="width: 100px">配置值 </label>
          <div class="layui-input-block">
           <input type="text" name="value" required style="width: 240px" lay-verify="required" placeholder="请输入配置值" autocomplete="off" class="layui-input">
           <!-- <input type="hidden" name="id" style="width: 240px" autocomplete="off" class="layui-input"> -->
          </div>
         </div>
         <div class="layui-form-item">
          <div class="layui-input-block">
           <button class="layui-btn" lay-submit lay-filter="save" >立即提交</button>
           <button type="reset" class="layui-btn layui-btn-primary" id="closeBtn" >重置</button>
          </div>
         </div> 
       </form>  
    </div>

c*js代码

-创建layer弹窗

function onAddBtn(){
     //页面层-自定义
    layer.open({
        type: 1,
        title:"新建配置",
        closeBtn: false,
        shift: 2,
        area: ['400px', '300px'],
        shadeClose: true,
        // btn: ['新增', '取消'],
        // btnAlign: 'c',
        content: $("#add-main"),
        success: function(layero, index){},
        yes:function(){
        }
      });
  }

-核心提交方法

<script type="text/javascript">
  layui.use(['layer', 'form'], function () {
  var layer = layui.layer, 
  $ = layui.jquery, 
  form = layui.form;
  //表单验证
  form.verify({
    firstpwd: [/(.+){6,12}$/, '密码必须6到12位'],
    secondpwd: function(value) {
           if(value != $("#firstpwd").val()){
              $("#secondpwd").val("");
           return '确认密码与密码不一致';
          }
    },
    productCodes: function(value){
           if(value == ''){
           return "请选择系统分配";
          }
    },
    sysqx: function(value){
          if(value == ''){
          return "请选择权限";
          }
      } 
  });
 //提交监听事件
 form.on('submit(save)', function (data) {
    params = data.field;
    //alert(JSON.stringify(params))
    submit($,params);
    return false;
  }) 
   var obj = document.getElementById('closeBtn');
   obj.addEventListener('click', function cancel(){
         CloseWin();
    });
})
//提交
function submit($,params){
     $.post('${ctx}/golbal/add1', params, function (res) {
        if (res.status==1) {
          layer.msg(res.message,{icon:1},function(index){
            CloseWin();
          }) 
        }else if(res.status==2){
          layer.msg(res.message,{icon:0},function(){
            parent.location.href='${ctx}/golbal/main';
            CloseWin();
            })
        }else{
          layer.msg(res.message,{icon:0},function(){
            location.reload(); // 页面刷新
               return false
          })
        } 
      }, 'json');
    }
debugger;
 //关闭页面
 function CloseWin(){
   parent.location.reload(); // 父页面刷新
   var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
   parent.layer.close(index); //再执行关闭 
 } 
  
</script>

d*后台代码

/**
   * 新增配置
   * @return
   */
  @RequestMapping("/add1")
  @ResponseBody
  public ResultEntity addItem(ZkGolbal golbal) {
    ResultEntity res = new ResultEntity();
    try {
      golbal.setStatus("1");
      res.setData(golbalService.addItem(golbal));
      res.setSuccess("success");
      res.setMessage("新增成功");
    } catch (Exception e) {
      res.setMessage("操作失败");
      e.printStackTrace();
    }
    return res;  
  }

总结

以上所述是小编给大家介绍的使用layer弹窗和layui表单做新增功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery1.6 使用方法一
Nov 23 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
Aug 08 Javascript
跟我学习javascript的var预解析与函数声明提升
Nov 16 Javascript
bootstrap3 兼容IE8浏览器!
May 02 Javascript
javascript中对Date类型的常用操作小结
May 19 Javascript
jQuery 3.0十大新特性最终版发布
Jul 14 Javascript
jQuery EasyUI API 中文帮助文档和扩展实例
Aug 01 Javascript
vue的一个分页组件的示例代码
Dec 25 Javascript
详解React之父子组件传递和其它一些要点
Jun 25 Javascript
浅谈Vue.use的使用
Aug 29 Javascript
基于vue-draggable 实现三级拖动排序效果
Jan 10 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
Apr 27 Javascript
vue-cli初始化项目中使用less的方法
Aug 09 #Javascript
video.js 实现视频只能后退不能快进的思路详解
Aug 09 #Javascript
JavaScript面向对象继承原理与实现方法分析
Aug 09 #Javascript
vue使用ajax获取后台数据进行显示的示例
Aug 09 #Javascript
vue中Axios的封装与API接口的管理详解
Aug 09 #Javascript
JavaScript引用类型RegExp基本用法详解
Aug 09 #Javascript
基于bootstrap页面渲染的问题解决方法
Aug 09 #Javascript
You might like
用PHP制作静态网站的模板框架(三)
2006/10/09 PHP
PHP下一个非常全面获取图象信息的函数
2008/11/20 PHP
php排序算法(冒泡排序,快速排序)
2012/10/09 PHP
PHP记录页面停留时间的方法
2016/03/30 PHP
可实现多表单提交的javascript函数
2007/08/01 Javascript
40款非常棒的jQuery 插件和制作教程(系列二)
2011/11/02 Javascript
JavaScript检测鼠标移动方向的方法
2015/05/22 Javascript
理解javascript中的MVC模式
2016/01/28 Javascript
Angularjs 滚动加载更多数据
2016/03/17 Javascript
微信小程序开发实战教程之手势解锁
2016/11/18 Javascript
jQuery zTree树插件简单使用教程
2017/01/10 Javascript
Vue结合原生js实现自定义组件自动生成示例
2017/01/21 Javascript
jQuery上传多张图片带进度条样式(DEMO)
2017/03/02 Javascript
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
layui弹出层效果实现代码
2017/05/19 Javascript
jQuery与vue实现拖动验证码功能
2018/01/30 jQuery
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
2019/05/10 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
JS实现简易留言板(节点操作)
2020/03/16 Javascript
JS如何实现在弹出窗口中加载页面
2020/12/03 Javascript
Vue——前端生成二维码的示例
2020/12/19 Vue.js
MySQL最常见的操作语句小结
2015/05/07 Python
使用Python脚本将文字转换为图片的实例分享
2015/08/29 Python
Django自定义分页与bootstrap分页结合
2021/02/22 Python
详解Django中间件执行顺序
2018/07/16 Python
如何使用Pytorch搭建模型
2020/10/26 Python
HTML5地理定位与第三方工具百度地图的应用
2016/11/17 HTML / CSS
CAT鞋英国官网:坚固耐用的靴子和鞋
2016/10/21 全球购物
英国天然保健品网站:Simply Supplements
2017/03/22 全球购物
皮肤科医师岗位职责
2013/12/04 职场文书
高中生职业生涯规划书
2014/02/24 职场文书
应届大专毕业生自我鉴定
2014/04/08 职场文书
Python如何配置环境变量详解
2021/05/18 Python
Python合并多张图片成PDF
2021/06/09 Python
关于MybatisPlus配置双数据库驱动连接数据库问题
2022/01/22 Java/Android
分享几种python 变量合并方法
2022/03/20 Python