Как отобразить по событию HTML значение, полученное из кода PHP?
Проще всего - через Javascript :) Ниже приводится простой учебный пример PHP-файла.
Javascript-функция по имени $_
служит для помещения в элемент с идентификатором id
содержимого строки result
.
Вызов 1 показывает, как динамически встроить в разметку получение текущего содержимого PHP-строки $result
по нажатию кнопки в HTML-форме.
Действие return false;
здесь не критично, но обычно применяется для кнопок с целью избежать отправки данных на сервер.
Также нужно быть внимательным с кавычками, все они имеют значение, а лучше всего видно, что получилось, в открытом из браузера исходнике страницы.
Вызов 2 обходится клиентской стороной, выводя в элемент с id="result2"
значение javascript-строки. На этот раз замена содержимого производится по наведению курсора мыши на текст "Покажи на меня!".
Разумеется, файл сохраняется с расширением .php и выполняется на сервере по протоколу HTTP, а не через открытие в браузере по комбинации клавиш Ctrl+O.
<!DOCTYPE html> <html><head> <meta charset="windows-1251"/> <title>Отобразить по событию HTML значение PHP через Javascript :)</title> </head><body> <script type="text/javascript"> function $_ (id,result) { document.getElementById(''+id).innerHTML = '' + result; } </script> <noscript><p>Включите в браузере Javascript для работы примера!</p></noscript> <?php $result = "Значение получено из кода PHP"; ?> <p>Вызов 1: <input type="button" value="Получить" onclick="$_('result', '<?php echo $result; ?>');return false;"> </p> <div id="result"></div> <p>Вызов 2: <span id="result2" onmouseover="$_('result2','Новый контент из Javascript');"> Покажи на меня!</span></p> </body></html>
Показанный пример не получает данных из формы, но можно представить, что переменная $result
формируется и из данных, полученных методом POST или GET.
Стоит также напомнить, что в web-программировании ничего нет хуже, чем форма, из которой "пропадают" введённые пользователем данные, а избежать этого можно и без применения Javascript. Вполне обычным путём является "обратная" передача данных через методы POST и CET, дополнительные скрытые поля формы и/или сессии PHP.
25.11.2016, 13:12 [3563 просмотра]