使用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 ajax 检测用户注册时用户名是否存在
Nov 03 Javascript
node.js中的http.response.removeHeader方法使用说明
Dec 14 Javascript
js实现每日自动换一张图片的方法
May 04 Javascript
JS实现黑色风格的网页TAB选项卡效果代码
Oct 09 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
May 23 Javascript
Bootstrap Validator 表单验证
Jul 25 Javascript
js实现PC端和移动端刮卡效果
Mar 27 Javascript
js 只比较时间大小的实例
Oct 26 Javascript
新版小程序登录授权的方法
Dec 12 Javascript
简单了解node npm cnpm的具体使用方法
Feb 27 Javascript
JavaScript中reduce()的5个基本用法示例
Jul 19 Javascript
解决echarts echarts数据动态更新和dataZoom被重置问题
Jul 20 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常用的缓存技术汇总
2014/05/05 PHP
织梦sitemap地图实时推送给百度的教程
2015/08/03 PHP
php头像上传预览实例代码
2017/05/02 PHP
ECMAScript 基础知识
2007/06/29 Javascript
Mootools 1.2教程 正则表达式
2009/09/15 Javascript
20款效果非常棒的 jQuery 插件小结分享
2011/11/18 Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
2013/01/22 Javascript
JS简单实现登陆验证附效果图
2013/11/19 Javascript
现如今最流行的JavaScript代码规范
2014/03/08 Javascript
JS实现图片放大镜效果的方法
2015/02/27 Javascript
JS中prototype的用法实例分析
2015/03/19 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
2015/04/16 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
2017/05/17 Javascript
vue 插值 v-once,v-text, v-html详解
2018/01/19 Javascript
简单分析js中的this的原理
2019/08/31 Javascript
安装多版本Vue-CLI的实现方法
2020/03/24 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
python uuid模块使用实例
2015/04/08 Python
Python中正则表达式的详细教程
2015/04/30 Python
Python从MP3文件获取id3的方法
2015/06/15 Python
Python使用requests发送POST请求实例代码
2018/01/25 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
2019/06/21 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
使用python实现ftp的文件读写方法
2019/07/02 Python
python调用其他文件函数或类的示例
2019/07/16 Python
如何在django中实现分页功能
2020/04/22 Python
Python selenium爬取微博数据代码实例
2020/05/22 Python
python中关于数据类型的学习笔记
2020/07/19 Python
python批量修改交换机密码的示例
2020/09/22 Python
测量工程专业求职信
2014/02/24 职场文书
新教师个人总结
2015/02/06 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
健康证明
2015/06/19 职场文书
小学生安全教育主题班会
2015/08/12 职场文书