I'm attempting to pass JavaScript variables via FancyBox, so that I can access them in the window that appears. So far, I have the following code:
<script type="text/javascript">
var s;
var e;
var fancyboxdata = new Array();
$(function(){
$('#post_code').blur(function(){
s = $('#post_code').val();
});
});
function map_routes(e){
if ((s.length !== 0) && (e.length !== 0)) {
document.getElementById('map_routes_button').style.visibility="visible";
fancyboxdata[s] = s;
fancyboxdata[e] = e;
} else {
document.getElementById('map_routes_button').style.visibility="hidden";
}
}
</script>
...
<script type="text/javascript">
$(document).ready(function() {
$("a.iframe_maps").fancybox({
ajax: {
type: "POST",
data: fancyboxdata
},
'hideOnContentClick': true,
'height': 600,
'padding': 0,
'width': 700,
'type': 'iframe'
});
});
</script>
At this stage, I know the fancyboxdata array contains data, but I'm unsure about the Ajax parameter in the FancyBox function, which is supposed to pass the array variable.
In the window that appears, I have:
<?php
print_r($_POST);
echo $_POST['s'];
?>
<script>
(function() {
alert(fancyboxdata[s]);
})();
</script>
And nothing appears, other than empty arrays and errors in the debugger.
Any ideas?
Could you not just listen for the submit of the form and an AJAX call separately as in this question (uses jQuery)?
use like data: "phpVar="+fancyboxdata
fancyboxdata (it is your javascript array variable) and
phpVar {will call in your php page. It is holding fancyboxdata.}
for codeigniter-fancybox You try below code. may be it'
$.fancybox({
'width' : 900,
'height' : 390,
'autoScale' : true,
'transitionIn' : 'none',
'transitionOut' : 'none',
'href' : 'page.php?id='+9,
'type' : 'iframe'
});
and then use $_get['id']