2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

送信フォームで二重送信が起きる場合には

Last updated at Posted at 2019-09-15

比較的レアな状況だと思うが2度ほど同じ過ちに出会ったので記録。
HTMLでフォームを送信する場合になぜかバリデーションが誤作動した。
原因を辿ると以下のようなコードが。

 <body>
 <form action="testresult.php" method="POST" name="testform">
 <input type="text" name="test1">
 <input type="submit" onclick="submit_form()">
 </body>
 <script>
 function submit_form(){
 document.testform.submit();
 }
 </script>

testresult.php にフォームを送信したくて、そのためにinput type="submit"としている。
その時点でフォームは送信できているが、更にJavaScriptでもsubmitする関数をonClickで呼び出してしまっている。結果的にこのフォームは二重で送信されてしまう。
これを防ぐには、input type="submit"input type="button"に変えてしまうか、JavaScriptの関数を削除する。後者の方がすっきりする。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?