使用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 相关文章推荐
JS随机生成不重复数据的实例方法
Jul 17 Javascript
IE下JS读取xml文件示例代码
Aug 05 Javascript
全面理解面向对象的 JavaScript(来自ibm)
Nov 10 Javascript
window.showModalDialog()返回值的学习心得总结
Jan 07 Javascript
javascript实现简单查找与替换的方法
Jul 22 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
Sep 19 Javascript
Vue Router的懒加载路径的解决方法
Jun 21 Javascript
vue--点击当前增加class,其他删除class的方法
Sep 15 Javascript
Vue中Quill富文本编辑器的使用教程
Sep 21 Javascript
JS尾递归的实现方法及代码优化技巧
Jan 19 Javascript
基于vue框架手写一个notify插件实现通知功能的方法
Mar 31 Javascript
微信小程序轮播图swiper代码详解
Dec 01 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
如何在smarty中增加类似foreach的功能自动加载数据
2013/06/26 PHP
php的GD库imagettftext函数解决中文乱码问题
2015/01/24 PHP
Jquery调用webService远程访问出错的解决方法
2010/05/21 Javascript
JS动态添加option和删除option(附实例代码)
2013/04/01 Javascript
JS获取图片实际宽高及根据图片大小进行自适应
2013/08/11 Javascript
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
2014/09/26 NodeJs
JS实现淘宝支付宝网站的控制台菜单效果
2015/09/28 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
2017/05/31 Javascript
js实现敏感词过滤算法及实现逻辑
2018/07/24 Javascript
JavaScript设计模式之享元模式实例详解
2019/01/17 Javascript
javascript实现拖拽碰撞检测
2020/03/12 Javascript
解决Vue中使用keepAlive不缓存问题
2020/08/04 Javascript
微信小程序向Java后台传输参数的方法实现
2020/12/10 Javascript
Python类的基础入门知识
2008/11/24 Python
Python实现TCP协议下的端口映射功能的脚本程序示例
2016/06/14 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
2018/01/29 Python
Python微医挂号网医生数据抓取
2019/01/24 Python
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
2019/05/27 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦
2013/04/25 HTML / CSS
NBA德国官方网上商店:NBA Store德国
2018/04/13 全球购物
文秘专业自荐信
2013/10/14 职场文书
端午节粽子促销活动方案
2014/02/02 职场文书
2014年公司庆元旦活动方案
2014/03/05 职场文书
应急管理培训方案
2014/06/12 职场文书
大学教师师德师风演讲稿
2014/08/22 职场文书
实习计划书范文
2015/01/16 职场文书
2015年餐厅服务员工作总结
2015/04/23 职场文书
python爬虫--selenium模块
2021/03/31 Python
详解Mysql和Oracle之间的误区
2021/05/18 MySQL
react 项目中引入图片的几种方式
2021/06/02 Javascript
解决redis批量删除key值的问题
2022/03/23 Redis
Nginx配置根据url参数重定向
2022/04/11 Servers
解决vue中provide inject的响应式监听
2022/04/19 Vue.js
一文解答什么是MySQL的回表
2022/08/05 MySQL