作者:
Notte (不安分的靈魂)
2016-03-21 17:35:28網頁概念大概長這樣:
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
作者:
Notte (不安分的靈魂)
2016-03-24 09:39:00TD大能再詳細說明嗎?還是有什麼關鍵字我可以搜尋的呢?
作者:
IamTD (TD)
2016-03-23 20:50:00可能是產生fancy box跟要關閉的頁面不一樣所以找不到fancybox在原本的page訂閱一個event,新開的page在success的時候發佈一個event,這樣就可以用原本的page來關了
是不是因為fancybox幫你用了iframe ?試看看往window.opener的方向找找~$('#myId', opener.document).fancybox.close(); ?
感覺是你物件目標錯了,你先看看你現在抓到的目標物件是什麼直接在瀏覽器的console 輸入你認為的物件名稱 快他印什麼出來像你打的parent $ jQuery基本上都是物件,你可以在console 輸入,看看顯示什麼你上面會顯示not a function就是很明顯的一個例子該物件沒有該方法,也就是你可能找錯物件了如果可以可能要把你的code貼出來,這樣比較好幫你
作者:
Notte (不安分的靈魂)
2016-03-23 10:14:00我再重新檢視一次 code我再想辦法貼在stsckoverflow之類的好了 公司不能載ptt ~_~
作者:
IamTD (TD)
2016-03-24 19:49:00JavaScript pubsub,用event的發佈跟訂閱來決定你要做什麼事情
作者:
Notte (不安分的靈魂)
2016-03-25 09:56:00感謝
作者:
Notte (不安分的靈魂)
2016-03-28 16:44:00感謝J大~ 原本我照著打還是有錯 一層一層去試 最後發現該頁固定要include的某個檔內 又再一次引入jq的js, 拿掉就沒事了!!! @q@
嗯嗯 就是我第二張圖的第一行,因為你要把他想成另一個頁面,不過最後一個建議是不要這樣去做比較好,可以用jQuery的dialog 去完成會比較恰當