私の状況
form.php の Web フォームでいくつかの操作を行う JavaScript があります。フォームは に設定されaction="form.php"
ているため、送信時にフォーム自体が読み込まれます。Web フォームはビルドされるだけif (!isset($_POST['submit']))
なので、投稿後、Web フォームを構成する入力要素とコンテナーは存在しません。これは一般的にコードがどのように構成されているかです:
<?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 は依然としてこれらの要素を操作しようとします。これらはもう存在しないため、エラーが発生します。特定の HTMLElement を操作するたびに一連のステートメントを使用することもできますif (HTMLElement)
が、より確実でより一般的な解決策があることを願っています。
質問
フォームがそのページに送信され、POST 後にフォームを単に表示し続けるオプションではないことを考えると、Web フォームの POST を検出して JavaScript の特定の部分をシャットダウンする方法を提案してもらえますか?
より一般的な質問は次のとおりです。
javascriptでphp POSTを検出するにはどうすればよいですか?