关于LayUI弹出层请求一次其他网页后无法再次点击按钮问题

问题描述

使用layer弹出层去请求另一个页面,关闭弹窗后本页面按钮无法点击也不报错,如下面弹窗代码

javascript 复制代码
                layer.open({
                    type: 1,
                    area: ['500px', '400px'],
                    title: '编辑信息',
                    shade: 0.6,
                    shadeClose: true,
                    maxmin: false,
                    anim: 0,
                    success: function (layero, index) {
                        $.ajax({
                            url: 'xxx/xxx.jsp',
                            data:{
                                "uid":data.uid,
                                "uname":data.uname,
                                    xxx
                            },
                            dataType: 'html',
                            success: function (data) {
                                layero.find('.layui-layer-content').html(data);
                            },
                            error: function () {
                                layer.msg('加载编辑失败');
                            }
                        });
                    },
                });

目前可以确定的是和请求的页面也导入了layui.js有关,删除即可正常使用.

但删除弹窗请求页面的导入layui.js页面的语句会导致部分组件无法加载问题,如下图

解决方案

直接使用layui提供的iframe弹窗

javascript 复制代码
layer.open({
  type: 2, //iframe层type为2
  area: ['500px', '400px'],
  title: '编辑信息',
  shade: 0.6,
  shadeClose: true,
  maxmin: false,
  anim: 5,
  content: 'xxx.jsp?uid='+data.uid+'&uname='+data.uname+'xxx,
  //目标url
});

如果要在弹窗页面填充内容也可以参考下面代码

javascript 复制代码
layer.open({
  type: 2, 
  content: 'xxx.html',
  success: function(layero, index){
    // 获取 iframe 中 body 元素的 jQuery 对象
    var body = layer.getChildFrame('body', index);
    // 给 iframe 页中的某个输入框赋值
    body.find('input').val('Hello layer.');
  }
});

千万不要试着在success用ajax去请求这个页面,然后body.find('html')去直接替换,因为这会又让你回到标题所述的问题╭(╯^╰)╮

相关推荐
沛沛老爹7 分钟前
Web转AI架构篇 Agent Skills vs MCP:工具箱与标准接口的本质区别
java·开发语言·前端·人工智能·架构·企业开发
小光学长44 分钟前
基于Web的长江游轮公共服务系统j225o57w(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
前端·数据库
花卷HJ2 小时前
Android 沉浸式全屏实践:主题 + 状态栏文字颜色完整方案
android
Joe5562 小时前
vue2 + antDesign 下拉框限制只能选择2个
服务器·前端·javascript
ChangYan.2 小时前
monorepo 多包管理识别不到新增模块,解决办法
前端·chrome
Jinuss2 小时前
React元素创建介绍
前端·react.js
济6173 小时前
linux 系统移植(第六期)--Uboot移植(5)--bootcmd 和 bootargs 环境变量-- Ubuntu20.04
java·前端·javascript
花卷HJ3 小时前
Android 项目中 BaseActivity 封装实践(支持 ViewBinding、PermissionUtils动态权限、加载弹窗和跳转动画)
android
m0_748254663 小时前
AJAX 基础实例
前端·ajax·okhttp
vmiao3 小时前
【前端入门】商品页放大镜效果(仅放大镜随鼠标移动效果)
前端