Определить, что страница была загружена из отправки формы - PullRequest
0 голосов
/ 12 марта 2020

У меня есть форма поиска со следующим кодом:

<form id="search_form" action="index.php" method="post">

PHP код доставки результатов поиска на той же странице запускается:

if (isset($_POST['search'])) {

У меня также есть javascript на этой странице, которая запускается при загрузке страницы (используя addEventListener). Поскольку страница перезагружается с отправкой формы, скрипт запускается снова. Это не желательно. Поэтому я хотел бы обнаружить, что форма была отправлена, и избегать вызова javascript. Я мог бы сделать это, если бы у Javascript был способ обнаружить, что $ _POST ['search'] был установлен.

Другой способ поставить его ... Я хотел бы, чтобы изначально загружаемые скрипты быть заблокированным, если страница перезагружается с подачи формы.

Как мне достичь своей цели, используя vanilla JS?

1 Ответ

1 голос
/ 12 марта 2020

Просто поместите нужный код JavaScript в условное выражение PHP, которое запускается, только если значение $_POST не установлено:

<?php
if (!isset($_POST['search'])) {
?>
  <script>
  // Code to run on initial page load
  </script>
<?php
}
?>

Или, если вы предпочитаете, чтобы оно содержалось внутри PHP для ясности кода:

<?php
if (!isset($_POST['search'])) {
  echo "<script>Code to run on initial page load</script>";
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...