Fancybox iframe类型返回值关闭

时间:2012-09-13 12:26:30

标签: jquery fancybox

我正在使用fancxbox,可以将变量从fancybox子传回父级。

在子页面中有一个名为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());
}

1 个答案:

答案 0 :(得分:6)

如果您使用的是fancybox v1.3.4,那么您将无法使用.val()回调获取值onClosed,因为onClosed将在所有fancybox中执行内容已被删除。您更愿意使用onCleanup(在关闭fancybox之后仍然可以提醒x的值)

因此,对于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;,以便可以从任何回调或任何其他功能访问它。

for 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
}