使用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 ui(接口)介绍
Sep 17 Javascript
javascript 二进制运算技巧解析
Nov 27 Javascript
JavaScript操作XML文件之XML读取方法
Jun 09 Javascript
js实现延迟加载的方法
Jun 24 Javascript
js实现的二级横向菜单条实例
Aug 22 Javascript
AngularJS中的过滤器filter用法完全解析
Apr 22 Javascript
ng2学习笔记之bootstrap中的component使用教程
Mar 09 Javascript
js控制文本框禁止输入特殊字符详解
Apr 07 Javascript
解决JS外部文件中文注释出现乱码问题
Jul 09 Javascript
Angular4学习笔记之实现绑定和分包
Aug 01 Javascript
在微信小程序中使用mqtt服务的方法
Dec 13 Javascript
帮你提高开发效率的JavaScript20个技巧
Jun 18 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写杨辉三角实例代码
2011/07/17 PHP
php数组函数序列之array_push() 数组尾部添加一个或多个元素(入栈),返回新长度。
2011/11/07 PHP
smarty缓存用法分析
2014/12/16 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
js no-repeat写法 背景不重复
2009/03/18 Javascript
javascript getElementsByTagName
2011/01/31 Javascript
JQuery筛选器全系列介绍
2013/08/27 Javascript
9行javascript代码获取QQ群成员具体实现
2013/10/16 Javascript
NodeJS连接MongoDB数据库时报错的快速解决方法
2016/05/13 NodeJs
深入理解MVC中的时间js格式化
2016/05/19 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
2016/06/17 Javascript
不使用script导入js文件的几种方法
2016/10/27 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
vue.js选中动态绑定的radio的指定项
2017/06/02 Javascript
深入理解令牌认证机制(token)
2019/08/22 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
2019/09/13 Javascript
让 python 命令行也可以自动补全
2014/11/30 Python
用python找出那些被“标记”的照片
2017/04/20 Python
python分布式编程实现过程解析
2019/11/08 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
2019/11/15 Python
在python中计算ssim的方法(与Matlab结果一致)
2019/12/19 Python
使用python-pptx包批量修改ppt格式的实现
2020/02/14 Python
Mac中PyCharm配置Anaconda环境的方法
2020/03/04 Python
Python通过文本和图片生成词云图
2020/05/21 Python
Python如何测试stdout输出
2020/08/10 Python
使用分层画布来优化HTML5渲染的教程
2015/05/08 HTML / CSS
Oroton中国官网:澳洲知名奢侈配饰品牌
2017/03/26 全球购物
真正的英国宝藏:Mappin & Webb
2019/05/05 全球购物
IMPORT的选项IGNORE有什么作用?缺省是什么设置?
2015/09/17 面试题
会计与审计专业大专生求职信
2013/10/03 职场文书
物流管理专业毕业生求职信
2014/03/23 职场文书
小学优秀班主任事迹材料
2014/05/17 职场文书
材料成型及控制工程专业求职信
2014/06/19 职场文书
2014年公务员转正工作总结
2014/11/07 职场文书
2015年度护士个人工作总结
2015/04/09 职场文书
2016小学新学期寄语
2015/12/04 职场文书