使用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 相关文章推荐
Jquery 快速构建可拖曳的购物车DragDrop
Nov 30 Javascript
不同浏览器的怪癖小结
Jul 11 Javascript
createElement与createDocumentFragment的点点区别小结
Dec 19 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
Dec 31 Javascript
jQuery结合AJAX之在页面滚动时从服务器加载数据
Jun 30 Javascript
javascript闭包(Closure)用法实例简析
Nov 30 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
Jul 25 Javascript
JS简单实现数组去重的方法示例
Mar 27 Javascript
js 索引下标之li集合绑定点击事件
Jan 12 Javascript
微信小程序radio组件使用详解
Jan 31 Javascript
three.js实现炫酷的全景3D重力感应
Dec 30 Javascript
关于React动态加载路由处理的相关问题
Jan 07 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 常用类整理
2009/12/23 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
解读PHP中的垃圾回收机制
2015/08/10 PHP
php的PDO事务处理机制实例分析
2017/02/16 PHP
php基于session锁防止阻塞请求的方法分析
2017/08/07 PHP
Thinkphp 3.2框架使用Redis的方法详解
2019/10/24 PHP
Javascript - HTML的request类
2006/07/15 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
2013/11/30 Javascript
vue.js绑定class和style样式(6)
2016/12/09 Javascript
Angular.js中定时器循环的3种方法总结
2017/04/27 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
React-router4路由监听的实现
2018/08/07 Javascript
JavaScript实现的开关灯泡点击切换特效示例
2019/07/08 Javascript
原生javascript如何实现共享onload事件
2020/07/03 Javascript
jQuery实现B2B网站后台管理系统侧导航
2020/07/08 jQuery
react-native 实现购物车滑动删除效果的示例代码
2021/01/15 Javascript
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
Python操作CouchDB数据库简单示例
2015/03/10 Python
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
Python 中Django验证码功能的实现代码
2019/06/20 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
Python实现打包成库供别的模块调用
2020/07/13 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
纯CSS实现右侧底部悬浮效果(悬浮QQ、微信、微博、邮箱等联系方式)
2015/04/24 HTML / CSS
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
如何反序的迭代一个序列?how do I iterate over a sequence in reverse order
2012/02/04 面试题
如果重写了对象的equals()方法,需要考虑什么
2014/11/02 面试题
毕业生在校学习的自我评价分享
2013/10/08 职场文书
函授本科毕业自我鉴定
2013/10/09 职场文书
小学教育毕业生自荐信
2013/11/18 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
辞职申请书范本
2019/05/20 职场文书