我有一个包含以下代码的搜索表单:

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


在同一页面上提供搜索结果的PHP代码由以下条件触发:

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


我在此页面上也有运行页面加载(使用addEventListener)的javascript。由于页面重新加载了表单提交,因此脚本再次运行。这是不希望的。因此,我想检测到表单已提交,并且避免调用javascript。如果Javascript能够检测到已设置$ _POST ['search'],则可以这样做。

另一种表达方式...如果重新加载页面来自表单提交,我希望阻止最初加载的脚本。

使用香草JS如何达到我的目标?

最佳答案

只需将所需的JavaScript代码放入仅在未设置$_POST值时运行的PHP条件中即可:

<?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>";
}
?>

10-05 21:03
查看更多