#php #javascript
#php #javascript
Вопрос:
Обратная этому:
<script>
document.getElementById("jscript_element").value = '<?=$php_variable?>';
</script>
Возможно ли это?
Примечание: Post / Get не должен использоваться, поскольку скрипт будет интегрирован только в событие onChange, остальное — история.
Заранее спасибо!
Ответ №1:
Вам придется либо записать значение на вход с помощью Javascript и записать значение при отправке формы, либо использовать AJAX для отправки значения на ваш сервер для обработки. Как только страница загружена, PHP завершен, точка.
Комментарии:
1. Он указывает, что «Post / Get не должен использоваться». Разве сообщение AJAX не остается сообщением?
2. @Michael: я полагаю, он имеет в виду предыдущий вариант, который я предложил (который стоит отметить как вариант), то есть имеющий форму action=»post / get», подразумевая, что пользователь покидает текущую историю. Хотя вызов AJAX использует метод POST или GET, пользователь сохраняет текущую загрузку страницы, поэтому в первую очередь используется AJAX.
Ответ №2:
Я думаю, что ответ на ваш вопрос заключается в порядке интерпретации двух типов скриптов.
document.getElementById("jscript_element").value = '<?=$php_variable?>';
Все, что содержится в <? ?>
тегах, интерпретируется сервером как PHP, а затем записывается на страницу. Затем эта полностью заполненная страница передается клиенту. Обратите внимание, что PHP выполняется только на сервере.
Как только страница загружена и представлена клиенту, PHP-код не существует. Чтобы установить переменную PHP, вы должны каким-то образом передать эти данные обратно на сервер.
Вы указываете, что вы не можете использовать какой-либо тип Post или Get . Независимо от того, синхронно ли через действие формы или асинхронно через AJAX, любой тип связи подпадает под категорию Post или Get .
Итак, имея это в виду:
Возможно ли это?
Нет.
Ответ №3:
За вашим вопросом, по-видимому, возникает путаница между действиями на стороне сервера и действиями на стороне клиента.
Вам следует прочитать некоторую информацию по этому вопросу, например, эту статью: http://www.virtualshowrooms.co.za/articlepage.php?cp=101 .
Ответ №4:
Хотя установка данных, сгенерированных javascript, в переменную php напрямую невозможна, вы можете следовать приведенному ниже методу для достижения этой цели, если требуется.
После получения значения, которое вы хотите сделать доступным в php, сохраните значение в файле cookie.
<script type="text/javascript">
generated_value=document.getElementById("jscript_element").value;
document.cookie="cookie_name=" generated_value;
</script>
Затем в вашем php-скрипте просто считайте значение из массива $ _COOKIE.
<?php $generated_value = $_COOKIE['cookie_name']; ?>
Для этого потребуется перезагрузка страницы, но вы сможете использовать значение, сгенерированное javascript.