2012-09-13 4 views
5

私はfancxboxを使用していますので、fancyboxの子から親に変数を返すことができます。子ページで Fancybox iframe型の返り値閉じる時

あなたは、あなたが onClosedコールバックを使用して値( .val())を取得することができなくなりますfancyboxのv1.3.4を使用している場合は 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

と呼ばれるテキストフィールドがありますすべてのファンシーボックスのコンテンツが既に削除されている場合にonClosedが実行されるためです。あなたは、むしろ、このAPIのオプションは、あなたがvar x;を宣言していることを確認してください

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

Fancybox v1.3.4使用するためので、代わりに onCleanup(あなたはまだかかわらず、fancyboxを閉じた後 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 
} 
ため

関連する問題