2012-09-13 14 views
5

Sto usando fancxbox, è possibile passare una variabile da fancybox child a parent.Fancybox tipo iframe valore restituito alla chiusura

Nella pagina figlio v'è campo di testo chiamato 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()); 
} 

risposta

6

Se si utilizza fancybox v1.3.4 allora non sarà in grado di ottenere il valore (.val()) utilizzando il onClosed callback perché onClosed verrà eseguito quando tutti i contenuti di fancybox sono già stati rimossi. Si preferisce utilizzare onCleanup invece (si può ancora avvertire il valore di x dopo la chiusura fancybox però)

così per Fancybox v1.3.4 utilizzare questa possibilità API

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

fare in modo che si è dichiarato var x; su parte superiore del tuo script per renderlo accessibile da qualsiasi callback o qualsiasi altra funzione.

per Fancybox v2.x utilizzare questa possibilità API

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