作者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