作者Notte (不安分的灵魂)
看板Ajax
标题[问题] 关於Fancybox的问题
时间Mon Mar 21 17:35:28 2016
网页概念大概长这样:
name | address | email |
( Edit )
name | address | email |
( Edit )
name | address | email |
( Edit )
给Edit的 <a class=”fancy”>
去让fancybox套件触发
点击Edit
会以 showForm.php?id=变数
这种方式传给showForm.php
所有过程都很顺利 以ajax修改资料也没问题
问题出在我跳出的fancybox修改资料完以後
我在success中有带入关闭却无法执行
导致按下送出虽然有透过ajax修改资料
但是fancybox视窗还是停留
我分别试过加入
$.fancybox.close();
jQuery.fancybox.close();
parent.$.fancybox.close();
通通失败啊~
fancybox版本是 1.3.4
如果是在同一页做送出动作,close()是可行的
就像范例一样透过隐藏div的方式,但是我不想跟DB资料捞在一起啊~
※ 编辑: Notte (118.150.76.32), 03/21/2016 20:35:31
1F:推 shadowjohn: 是不是因为fancybox帮你用了iframe ?03/22 09:54
2F:→ shadowjohn: 试看看往window.opener的方向找找~03/22 09:54
3F:推 shadowjohn: $('#myId', opener.document).fancybox.close(); ?03/22 09:56
不知道你说的myId是不是放我点击的物件?
照这样输入会显示 fancybox.close not a function
4F:推 johnny9144: 感觉是你物件目标错了,你先看看你现在抓到的目标物03/22 10:45
5F:→ johnny9144: 件是什麽03/22 10:45
请问要怎麽找呢?
因为後来的小视窗按X也能正常关闭 Q_Q”
6F:→ johnny9144: 直接在浏览器的console 输入你认为的物件名称 快他印 03/22 18:24
7F:→ johnny9144: 什麽出来 03/22 18:24
8F:→ johnny9144: 像你打的parent $ jQuery基本上都是物件,你可以在con 03/22 18:25
9F:→ johnny9144: sole 输入,看看显示什麽 03/22 18:25
10F:→ johnny9144: 你上面会显示not a function就是很明显的一个例子 03/22 18:35
11F:→ johnny9144: 该物件没有该方法,也就是你可能找错物件了 03/22 18:36
12F:→ johnny9144: 如果可以可能要把你的code贴出来,这样比较好帮你 03/22 18:37
※ 编辑: Notte (118.150.76.32), 03/22/2016 21:04:30
13F:→ Notte: 我再重新检视一次 code我再想办法贴在stsckoverflow之类的 03/23 10:14
14F:→ Notte: 好了 公司不能载ptt ~_~ 03/23 10:14
16F:→ Notte: 再麻烦指点指点 ~ 03/23 11:20
17F:推 IamTD: 可能是产生fancy box跟要关闭的页面不一样所以找不到fancy 03/23 20:50
18F:→ IamTD: box 03/23 20:50
19F:推 IamTD: 在原本的page订阅一个event,新开的page在success的时候发 03/23 20:54
20F:→ IamTD: 布一个event,这样就可以用原本的page来关了 03/23 20:54
21F:→ Notte: TD大能再详细说明吗?还是有什麽关键字我可以搜寻的呢? 03/24 09:39
22F:推 IamTD: JavaScript pubsub,用event的发布跟订阅来决定你要做什麽 03/24 19:49
23F:→ IamTD: 事情 03/24 19:49
24F:→ Notte: 感谢 03/25 09:56
27F:→ johnny9144: 抱歉,前几天太忙了 哈哈 官网文件我照着做而已 试试 03/27 09:41
28F:→ johnny9144: 看吧! 03/27 09:41
29F:→ Notte: 感谢J大~ 原本我照着打还是有错 一层一层去试 最後发现该页 03/28 16:44
30F:→ Notte: 固定要include的某个档内 又再一次引入jq的js, 拿掉就没事 03/28 16:44
31F:→ Notte: 了!!! @q@ 03/28 16:44
32F:→ johnny9144: 嗯嗯 就是我第二张图的第一行,因为你要把他想成另一 03/28 19:02
33F:→ johnny9144: 个页面,不过最後一个建议是不要这样去做比较好,可以 03/28 19:02
34F:→ johnny9144: 用jQuery的dialog 去完成会比较恰当 03/28 19:02