Отправить переменную PHP в функцию javascript

У меня есть php-файл, который генерирует переменную, и я хотел бы, чтобы переменная была помещена в функцию javascript, которая вызывается onclick на главной странице. Можно ли отправлять с PHP на javascript?

Вы можете сделать следующее:

<script type='text/javascript'> document.body.onclick(function(){ var myVariable = <?php echo(json_encode($myVariable)); ?>; }; </script> 

Ваш JavaScript должен быть определен в PHP-анализируемом файле.

Например, в index.php вы можете разместить

 <?php $time = time(); ?> <script> document.write(<?php echo $time; ?>); </script> 

Просто пиши:

 <script> var my_variable_name = "<?php echo $php_string; ?>"; </script> 

Теперь он доступен как переменная JavaScript по имени my_variable_name в любой точке ниже приведенного выше кода.

Отличным вариантом является использование jQuery / AJAX. Посмотрите на эти примеры и попробуйте их на своем сервере. В этом примере в файле FILE1.php обратите внимание, что он передает пустое значение. Вы можете передать значение, если хотите, что может выглядеть примерно так (предполагая, что javascript vars называется username и password :

 data: 'username='+username+'&password='+password, 

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

 $uname = $_POST['username']; $pword = $_POST['password']; 

Затем выполните поиск в MySQL и верните значения таким образом:

 echo 'You are logged in'; 

Это доставит сообщение. You are logged in функцию успеха в FILE1.php, и строка сообщения будет сохранена в переменной «данные». Поэтому alert(data); строка в функции успеха будет предупреждать об этом сообщении. Конечно, вы можете echo все, что вам нравится, даже большое количество HTML, например, целые структуры таблицы.

Вот еще один хороший пример для обзора.

Подходом является создание вашей формы, а затем использование jQuery для обнаружения нажатия кнопки и отправки данных в дополнительный файл PHP через AJAX. Вышеприведенные примеры показывают, как это сделать.

Вторичный PHP-файл получает переменные (если они отправлены) и возвращает ответ (все, что вы хотите отправить). Затем этот ответ появляется в разделе «Успех» вашего вызова AJAX как «данные» (в этих примерах).

Код jQuery / AJAX – это javascript, поэтому у вас есть два варианта: вы можете поместить его в теги <script type="text/javascript"></script> в свой основной PHP-документ, или вы можете <?php include "my_javascript_stuff.js"; ?> <?php include "my_javascript_stuff.js"; ?> внизу вашего документа PHP. Если вы используете jQuery, не забудьте включить библиотеку jQuery, как в приведенных примерах.

В вашем случае это звучит так, будто вы можете в значительной степени отразить первый пример, который я предложил, не отправляя данные и получая ответ в функции успеха AJAX. Что бы вы ни делали с этими данными, вы должны делать внутри функции успеха. Сначала кажется немного странным, но это работает.

Если я правильно вас понимаю, вы должны сделать что-то в следующих строках:

 function clicked() { var someVariable="<?php echo $phpVariable; ?>"; } 

Вы можете передать значения PHP в JavaScript. PHP будет выполнять серверную сторону, поэтому значение будет вычисляться, а затем вы можете отбросить его в HTML, содержащий javascript. Затем javascript выполнит в браузере клиентов значение PHP, рассчитанное на стороне сервера.

 <script type="text/javascript"> // Do something in JavaScript var x = <?php echo $calculatedValue; ?>; // etc.. </script>