2012-09-13 85 views
5

我使用的是fancxbox,可以將一個變量從fancybox子元素傳回給父類。Fancybox iframe類型返回值關閉

在子頁面有一個名爲banner_width1<input name="banner_width" id="banner_width1" type="text" size="5" value="1000"/>

'onClosed':function() 
{ 
alert($("#banner_width1").val()); 
var x = $("#fancybox-frame").contentWindow.targetFunction(); 
alert(x.val()); 
} 

回答

6

如果您正在使用的fancybox V1.3.4,那麼你將無法得到使用onClosed回調值(.val())文本字段因爲onClosed將在所有fancybox內容已被刪除時執行。你寧願用onCleanup代替(你還可以提醒的x值雖然收盤後的fancybox)

所以的fancybox V1.3.4使用該API選項

"onCleanup": function(){ 
x = $('#fancybox-frame').contents().find('#banner_width1').val(); 
}, 
"onClosed": function(){ 
alert("the value of input#banner_width1 is : "+x); // optional 
} 

確保您已聲明var x;上從腳本的頂部使其可以從任何回調或任何其他功能訪問。

爲的fancybox V2.X使用該API選項

beforeShow : function(){ 
x = $('.fancybox-iframe').contents().find('#banner_width1').val(); 
}, 
afterClose: function(){ 
alert("the value of input#banner_width1 is : "+x); // optional 
}