使用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 相关文章推荐
javascript 特殊字符串
Feb 25 Javascript
Javascript 通过json自动生成Dom的代码
Apr 01 Javascript
Google排名中的10个最著名的 JavaScript库
Apr 27 Javascript
jQuery EasyUI中对表格进行编辑的实现代码
Jun 10 Javascript
JavaScript分秒倒计时器实现方法
Feb 02 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
Aug 04 Javascript
基于jQuery实现放大镜特效
Oct 19 Javascript
jQuery 3.0中存在问题及解决办法
Jul 15 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
Jan 03 Javascript
jQuery实现弹窗居中效果类似alert()
Feb 27 Javascript
js实现canvas图片与img图片的相互转换的示例
Aug 31 Javascript
详解Ant Design of React的安装和使用方法
Dec 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+mysql 实现身份验证代码
2010/03/24 PHP
Windows下XDebug 手工配置与使用说明
2010/07/11 PHP
修改destoon会员公司的伪静态中的com目录的方法
2014/08/21 PHP
php跨站攻击实例分析
2014/10/28 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
JavaScript 动态生成方法的例子
2009/07/22 Javascript
javascript 无提示关闭窗口脚本
2009/08/17 Javascript
利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
2010/07/24 Javascript
JavaScript打印iframe内容示例代码
2013/08/20 Javascript
jquery操作cookie插件分享
2014/01/14 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
JSON取值前判断
2014/12/23 Javascript
TypeError document.getElementById(...) is null错误原因
2015/05/18 Javascript
JavaScript常用基础知识强化学习
2015/12/09 Javascript
jQuery使用ajax跨域获取数据的简单实例
2016/05/18 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
2016/06/01 Javascript
JS瀑布流实现方法实例分析
2016/12/19 Javascript
基于jQuery实现火焰灯效果导航菜单
2017/01/04 Javascript
详解用webpack2搭建angular2的项目
2017/06/22 Javascript
微信小程序 数据绑定及运算的简单实例
2017/09/20 Javascript
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
2018/09/02 Javascript
vue中的适配px2rem示例代码
2018/11/19 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
[51:53]完美世界DOTA2联赛决赛日 Inki vs LBZS 第二场 11.08
2020/11/10 DOTA
学习python可以干什么
2019/02/26 Python
使用python获取邮箱邮件的设置方法
2019/09/20 Python
解决pycharm中导入自己写的.py函数出错问题
2020/02/12 Python
Django路由层URLconf作用及原理解析
2020/09/24 Python
带有css3动画效果的兼容多浏览器简单导航条示例
2014/01/26 HTML / CSS
CSS Houdini实现动态波浪纹效果
2019/07/30 HTML / CSS
马歇尔耳机官网:Marshall Headphones
2020/02/04 全球购物
JSP&Servlet技术面试题
2015/05/21 面试题
中学实习教师自我鉴定
2013/12/12 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书
36个正则表达式(开发效率提高80%)
2021/11/17 Javascript