表示されるウィンドウでアクセスできるように、FancyBox 経由で JavaScript 変数を渡そうとしています。これまでのところ、次のコードがあります。
<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>
この段階で、fancyboxdata 配列にデータが含まれていることはわかっていますが、配列変数を渡すことになっている FancyBox 関数の Ajax パラメーターについてはわかりません。
表示されるウィンドウには、次のものがあります。
<?php
print_r($_POST);
echo $_POST['s'];
?>
<script>
(function() {
alert(fancyboxdata[s]);
})();
</script>
空の配列とデバッガーのエラー以外は何も表示されません。
何か案は?