我有一个包含以下代码的搜索表单:
<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>";
}
?>