检测到表单提交已加载页面

问题描述 投票:0回答:1

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

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

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

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

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

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

如何使用香草JS实现我的目标?

javascript php forms post
1个回答
1
投票

只需将所需的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>";
}
?>
© www.soinside.com 2019 - 2024. All rights reserved.