2013-04-13 2 views
0

У меня есть страница php, которая использует javascript для создания календаря на странице. Я пытаюсь передать переменную, чтобы я мог ссылаться на нее на загруженной странице.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();"> 

I попытались использовать '<?php echo $page; ?>' и '<?php $_POST['$page'] ?>' в скобках начального календаря()

однако мне не повезло, я надеюсь, что правильно объяснил и достаточно подробно, чтобы Sence, однако, если вам нужно что-нибудь больше, пожалуйста, просто комментарий

Спасибо, Райан

+0

Что такое '$ page'? Знаете ли вы, что необходимо принять аргумент в пользу функции, которая будет передана? Передача 'fn (anything)' не будет работать, если функция определена как 'function 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

Смежные вопросы