2013-04-13 192 views
0

我有一個使用javascript在頁面上生成日曆的php頁面。我想傳遞一個變量,以便我可以在加載的頁面上引用它。php通過onLoad傳遞變量

下面是我用來生成日曆(與其他幾個人一起)

<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'] ?>'在初始日曆()的括號內()

但是我沒有運氣,在足夠的細節,使培訓就業處,但是如果你需要什麼更多信息,請只是評論

感謝, 瑞安

+0

什麼是'$ page'?你知道一個功能必須被接受嗎?如果函數定義爲'function fn(/ * nothing nothing * /){/*...*/}',那麼傳遞'fn(任何東西)'將不起作用。 –

+0

你的javascript函數沒有參數,所以你想如何傳遞參數? –

+0

$ page從URL中的前一頁傳遞的變量,如下所示:http://localhost/project/calendar.php?page = something 我試圖抓住$ page變量讓我有不同的日曆不同的事件。 – Ryan

回答

0

我不知道你$_POST陣列的佈局,但如果我理解正確的問題,你應該嘗試:

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

,改變你的函數聲明:

function initialCalendar(page){ 

請注意,我用單引號'圍繞PHP輸出的值。如果值是一個字符串,這將確保它不會破壞任何內容。

+0

嗨,這是行不通的,但我認爲更多的信息我可以更好地解釋。 $ page從URL中的前一頁傳遞的變量,如下所示:http://localhost/project/calendar.php?page = something 我試圖抓住$ page變量讓我有不同的日曆爲不同的事件。 – Ryan

+0

如果它通過url傳遞,則必須使用'$ _GET ['page'];'而不是 – hek2mgl

0

既然你傳遞變量通過參數,如

localhost/project/calendar.php?page=something 

使用$_GET['page']而非$_POST