layer关闭单前层,刷新父层的解决方案

Posted duansong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

以上是关于layer关闭单前层,刷新父层的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

layer弹出层的关闭及父页面的刷新问题

layer弹出层的关闭问题

layer弹出层的关闭问题

CAlayer层的属性

layer弹出层的关闭问题

layer 关闭当前iframe并刷新父页面(上一页)