0

我有一个 php 页面,它使用 javascript 在页面上生成日历。我正在尝试传递一个变量,以便我可以在加载的页面上引用它。

下面是我用来生成日历的脚本(以及其他几个)

<script language="javaScript" type="text/javascript">
function initialCalendar(){
    var hr = new XMLHttpRequest();
    var url = "calendar_start.php";
    var currentTime = new Date();
    var month = currentTime.getMonth() + 1;
    var year = currentTime.getFullYear();
    showmonth = month;
    showyear = year;
    var vars = "showmonth="+showmonth+"&showyear="+showyear;
    hr.open("POST", url, true);
    hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    hr.onreadystatechange = function() {
        if(hr.readyState == 4 && hr.status == 200) {
            var return_data = hr.responseText;
            document.getElementById("showCalendar").innerHTML = return_data;
        }
    }
    hr.send(vars);
    document.getElementById("showCalendar").innerHTML = "processing...";
}
</script>

下面是我在 php 页面上显示它的方式:

<body onLoad="initialCalendar();">

我尝试在初始日历()的括号中使用'<?php echo $page; ?>''<?php $_POST['$page'] ?>'

但是我没有运气,我希望我已经正确解释并且足够详细以使有意义,但是如果您需要更多信息,请发表评论

谢谢,瑞安

4

2 回答 2

0

由于您通过参数传递变量,例如

localhost/project/calendar.php?page=something

使用$_GET['page']而不是$_POST

于 2013-04-13T18:48:25.270 回答
0

我不知道您的$_POST阵列的布局,但如果我理解正确的问题,您应该尝试:

<body onLoad="initialCalendar('<?php echo $_POST['page'];?>');">

并将您的函数声明更改为:

function initialCalendar(page){

请注意,我在'PHP 输出的值周围使用了单引号。这是为了确保如果值是字符串,它不会破坏任何东西。

于 2013-04-13T18:20:42.833 回答