cannot read property 'layer' of null

crszhi 2018-04-17 06:14:12

无法进入yes确定按钮回调方法
...全文
1242 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinrongquan 2018-11-15
  • 打赏
  • 举报
回复
哦,对,button为 type='submit'的时候,yes方法相当于会触发提交表单的请求,所以button所在的弹窗层会刷新一遍
scscms太阳光 2018-11-13
  • 打赏
  • 举报
回复
button的type是一个必填值,如果没有会默认取type="submit" 即提交按钮。
jinrongquan 2018-11-13
  • 打赏
  • 举报
回复
这个问题我也遇到了,不过我这边解决了,我这边的问题触发的点是在于点击弹出层的那个按钮没有添加 type="button"属性, 而很奇葩的是我本身用的就是<button>标签,怎么会去加type="button"呢。。。 不加这个属性,我断点调试发现会在点击按钮弹窗的时候,重新刷新父窗口,所以子窗口点yes按钮返回父窗口的时候,top对象是null 加上就好了,感觉是个很坑的bug
licip 2018-04-19
  • 打赏
  • 举报
回复
top.layer.open()这个方法是从外部引入进来的吧。有可能有你说的情况。在用这个方法之前,你要先引入,然后,再使用。
crszhi 2018-04-19
  • 打赏
  • 举报
回复
引用 6 楼 Free_Wind22 的回复:
执行到top.layer.open的时候,上级页面是否加载完成?可能子页面比layer弹窗先加载完?
但是打开子页面也是用这个top.layer.open(),只是他操作完后点击确定执行yes回调函数时才出的错。 每次操作大概3,4分钟左右,应该都加载完才对。他一天操作下来会遇到3,4次,并不是每次都会有。 那是不是应该确保上级页面加载完毕后才允许打开子页面? 那我该如何确保它加载完毕后才让他执行onclick内的函数 <a href="#" onclick="openDialogView('查看会议基本信息', '${ctx}/meet/meetInfo/form?id=${meetInfo.id}','800px', '500px')">
crszhi 2018-04-19
  • 打赏
  • 举报
回复
引用 5 楼 licip 的回复:
top.layer.open()这个方法是从外部引入进来的吧。有可能有你说的情况。在用这个方法之前,你要先引入,然后,再使用。
那如何确保它每次引入成功之后才给它使用
2018-04-19
  • 打赏
  • 举报
回复
执行到top.layer.open的时候,上级页面是否加载完成?可能子页面比layer弹窗先加载完?
crszhi 2018-04-18
  • 打赏
  • 举报
回复
别人用的时候,他也不是每次都会出这个问题,我看了他操作了半个小时,8,9次最后一次才出现这个问题,他一天操作下来会遇到3,4次。 如果我知道问题在哪的话,我可以去调试。但是我测了一个小时,二三十次都没出问题,完全无法调试。会不会是因为网速问题,或者其他问题?
75闪光雷 2018-04-18
  • 打赏
  • 举报
回复
应该是你的layer是空值, 建议检查layer赋值地方,断点调试
crszhi 2018-04-17
  • 打赏
  • 举报
回复
crszhi 2018-04-17
  • 打赏
  • 举报
回复

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧