Последние записи
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
11th
Окт
Как передать переменную js в этом файле в переменную php в этом же файле
Posted by obzor under JavaScript, php
есть файл php (в нем html, js и php в одном файле).
Как передать переменную js в этом файле в переменную php в этом же файле.
P.S. разделить код на отдельные файлы html, js и php нет никакой возможности.
Когда начинает работать JS, к этому моменту PHP уже полностью завершил работу.
Но, если нужно что-то обработать на PHP после того, как загрузилась страница, можно из JS через стандартный HTTP протокол обратиться к серверу и передать туда необходимую информацию. Это можно делать даже без перезагрузки страницы, используя AJAX.
А по основам почитайте, пожалуйста, Самые основы. Как работает PHP.
Да, они у вас в одном файле, НО PHP исполняется на сервере и посылает страницу в браузер.
А браузер уже исполняет яваскрипты и обрабатывает действия пользователя мышкой (как вы пишете «выбираем из тега select имя»).
Если надо из браузера сделать яваскриптом запрос к PHP, надо использовать Ajax-запросы, как написал выше OmegaBerkut. Только new XMLHttpRequest() не кроссбраузерно, я бы задействовал jquery и не парился.
То, что у вас PHP и JS в одном файле — не смертельно, просто неудобно. Делаете на ajax POST или GET запрос к вашему PHP-скрипту и получаете от него нужные данные.
Вот пример куска PHP кода, который при POST-запросе к index.php и отправке tic=30&id=3 будет перезаписывать значение в БД:
if (isset($_POST['tic'])) {// Это прислан Аякс-запрос на перезапись значения ТИЦ
$tic = (int)$_POST['tic'];
$id = (int)$_POST['id'];
mysql_query("UPDATE `".DomainTBL."` SET `tic`='{$tic}' WHERE id='{$id}'");
echo "$id:<b>$tic</b>"; // Послать ответ яваскрипту в браузер
exit; // Завершить работу скрипта
}
// Дальше идет ваш остальной PHP-код, он исполнится, если не будет POST-запроса с параметрами tic=30&id=3
. . .
Вот пример яваскрипта, который при клике на кнопку «отправить» не отправляет форму, а делает аякс-отправку данных. Страница не перезагружается, а на месте hrml-формы выводится ответ PHP-скрипта:
<script type='text/javascript'>
$('.tic').on('submit', function(e) {
e.preventDefault();// Отменяем отправку формы
//var data = $(e.delegateTarget).attr('data');// Содержимое атрибута data кликнутой td
var form = $(this);// Форма, на которой возникло событие
$.ajax({
url: form.attr('action'),
type: form.attr('method'),
data: form.serialize(),
success: function(result) {// В ответ присылается 'ID:ТИЦ'
if (result.match(/\d+:<b>\d+<\/b>/) == null) alert('сбой: ' + result);
else form.parent().html(result);// Выводим ответ PHP-скрипта на месте html-формы
},
dataType: 'html',
statusCode: {
404: function() { alert(form.attr('action') + ' - страница не найдена'); }
},
fail: function(XHR, err, errorThrown) { alert(err); }
});
});
</script>
Можете разместить их в одном файле, у меня именно так и сделано.
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)