2012-03-22 70 views
0

我的fancybox彈出iframe和我提交上onClosed父窗體,如下圖所示如何預防的fancybox onClosed事件

'onClosed'   : function() { 
     parent.document.forms[0].submit(); 
} 

它,我有彈出iframe內的一種形式,我想onClosed事件是隻有當表單被提交時才執行,但沒有單擊關閉按鈕,目前,onClosed在兩種條件下都得到執行,以及如何防止onClosed動作不被執行。

回答

1

刪除onClosed選項,這個屬性添加到裏面的fancybox的form標籤(不是submit按鈕):

onsubmit="javascript:parent.document.forms[0].submit();jQuery.fancybox.close();" 

如果訪客關閉使用close按鈕的fancybox,則表單不會被提交。

我希望你很清楚當你說「我有一個窗體內彈出iframe」,因爲不一定fancybox裏面的所有內容是iframe

你打開fancybox的選項"type":"iframe"? 如果是這樣,那麼onsubmit屬性應該是這樣的:

onsubmit="javascript:parent.parent.document.forms[0].submit();parent.jQuery.fancybox.close();" 
+0

我正在服務器上這個錯誤不會localy「不安全的JavaScript嘗試與URL訪問http框架://mysite/report/report.php從框架與URL http://mysite/report/edit-details.php。域名,協議和端口必須匹配「 – n92 2012-03-22 11:39:07

+1

我很難想象這個錯誤與fancybox腳本相關,但是其他限制如跨域策略或託管限制等。在這種情況下,我寧願使用絕對路徑上的相對路徑。 – JFK 2012-03-22 21:15:22

+0

是的,給予相對路徑的工作 – n92 2012-03-23 05:28:11