我的情况
我有一段 javascript 可以对 form.php 上的 web 表单进行多次操作。表单设置为action="form.php"
并因此在提交时自行加载。webform 只是构建的if (!isset($_POST['submit']))
,所以在发布之后,构成 webform 的输入元素和容器都不在那里。这通常是代码的结构:
<?php if (!isset($_POST['submit'])) {
//the form has not been submitted
?>
<form action="<?php $_SERVER['PHP_SELF']?>" method="post" id="form" name="form">
<!-- general input elements -->
<input type="submit" name="submit" value="Send">
</form>
<?php }
else {
// the form has been submitted
// posted values are submitted to a database
}
?>
不过,javascript 仍然尝试对这些元素进行操作。由于这些不再存在,因此会发生错误。if (HTMLElement)
我可以为对某个 HTMLElement 的每次操作使用一堆语句,但我希望有一个更可靠、更通用的解决方案。
问题
鉴于表单提交到其页面,并且不能在 POST 后简单地继续显示表单,你有什么建议我可以检测到 webform 的 POST 并关闭我的 javascript 的某些部分吗?
一个更普遍的问题是:
javascript如何检测php POST?