zoukankan      html  css  js  c++  java
  • layer关闭单前层,刷新父层的解决方案

    我们写动态网页程序时通常会遇到这种情况:

      在一个页面添加数据到数据库中,添加成功时,要返回当前层的父级页面查看刚刚添加的数据,但我们发现父层依然是刚刚那些数据,并没有显示我们添加到数据库中的数据,这时候我们手动刷新一下浏览器数据就会出来,这样我们就知道了在数据添加成功的时候我们要先刷新父层,然后关闭当前的层。

    这里我使用了两种方法

      这是因为我用了两种提交表单的方式:

        一、通过form的action的方法使用不同的页面提交。

            当我们使用了不同的页面提交的话会出现一个bug,就是弹出层会不断重叠。

            这里我是用laravel框架写的写法(通过with带回一个判断条件并返回提交的页面,然后通过with存储在session中的数据判断)

              return back()->with('success','true'); //处理页面

              提交页面:

              @if(session('success'))
                  <script>
                      window.location.href = '需要刷新的父层地址';
                      parent.location.reload();
                  </script>
              @endif

        二、通过Ap接口在当前页面做Ajax提交,不跳转页面

                    //获取当前层的索引
                    var index = parent.layer.getFrameIndex(window.name);
                    //刷新父层
                    parent.$('.btn-refresh').click();
                    //关闭当前层
                    parent.layer.close(index);
  • 相关阅读:
    MVC中单选按钮的实现
    前端点击手机号码跳转到手机拨号页面
    jQuery限制文本框只能输入正整数
    Asp.Net 之 二维码生成
    MVC +Jqyery+Ajax 实现弹出层提醒
    jQuery Ajax使用实例
    ASP的调试技术解答
    模式应用场景
    redis笔记
    yii resful
  • 原文地址:https://www.cnblogs.com/duansong/p/12184377.html
Copyright © 2011-2022 走看看