Yii: передать переменную Javascript в PHP - PullRequest
0 голосов
/ 01 апреля 2011

В моем блоке javascript есть элемент, значение которого я хотел бы передать php.Переменные:

$ ('# datefirst'). Val ()

и

$ ('# datelast').val ()

Мой код (должен дать представление о чем идет речь)

<?php $datefirst = ?>$('#datefirst').val(); 
<?php $datelast = ?>$('#datelast').val();   
window.location = "<?php echo CController::createAbsoluteUrl('export/motheradmission',
array('datefirst'=>$datefirst,'datelast'=>$datelast)) ?>";

Есть идеи, которые помогут мне совершить этот подвиг?

Ответы [ 3 ]

2 голосов
/ 01 апреля 2011

PHP работает на сервере.Он (обычно) генерирует HTML-документ (возможно, со встроенным JavaScript).Затем он доставляется клиенту.На этом этапе PHP-скрипт завершен.

Клиент получает документ и запускает любой JavaScript.

Единственный способ вернуть данные на сервер - отправить новый HTTP-запрос.

Возможно, вы захотите сделать что-то вроде:

window.location = "some.php?datefirst=" + encodeURIComponent(datefirst) + "&datelast=" + encodeURIComponent(datelast);

… и затем обработать отправленные данные в some.php.

0 голосов
/ 29 января 2013

Вы не можете назначать значения js php.Вы можете добиться перенаправления следующим образом.

var firstdate=$('#datefirst').val(); 
var lastdate=$('#datelast').val();  
var url = "<?php echo CController::createAbsoluteUrl('export/motheradmission',
array('datefirst'=>'#firstdate','datelast'=>'#lastdate')) ?>";
url = url.replace('#firstdate',firstdate);
url = url.replace('#lastdate',lastdate);
window.location.href=url;
0 голосов
/ 01 апреля 2011

Учитывая, что вы затем используете window.location, чтобы перенаправить их на новую страницу, почему бы просто не продолжить работу с javascript и добавить переменные в конец URL-адреса, к которому вы переходите? Такие как

Window.location = "<code>"+"?datefirst"+('#datefirst').val()+"&datelast="+('#datelast').val();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...