2012-09-13 56 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 
}