勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

IE11でフォーム送信時に二重登録される

   2021/03/11  jQuery JavaScript

Internet Explorer11でform送信時にデータが二重登録されるという不具合が発生した。FirefoxやGoogle Chromeでは発生しない。以下に原因と対応方法をメモ。

 

原因

該当のフォームが送信ボタンを押すとjQueryでバリデートし、問題が無ければ「$('#test_form').submit();」みたいな感じで送信し、その後「return true」と返していた。

上記の場合IEのみ「$('#test_form').submit();」と、フォーム側の2重で送信される模様。

 

対応方法

「return true」で返さず「return false」で返し、フォーム側の送信を防ぐことで改善した。

 

参考サイト

https://www.programming-se.com/?p=3164

https://www.nyamucoro.com/entry/2018/08/03/212717

 - jQuery JavaScript

  関連記事

JavaScript / jQueryにてページ表示時に指定したテキストボックスにフォーカスさせる方法
JavaScript / jQueryにてページ表示時に指定したテキストボックスにフォーカスさせる方法

ページを開いた際に指定したテキストボックス(input type="text") ...

タブアンダー広告をjQueryで再現する方法
タブアンダー広告をjQueryで再現する方法

サイト内のリンクをクリックすると、新しいタブもしくはウィンドウで開く広告をちょい ...

jQueryのanimate()でページスクロール後に他の処理を実行させる方法
jQueryのanimate()でページスクロール後に他の処理を実行させる方法

jQueryのanimate()でページスクロール後に特定の要素を非表示にしたい ...

「display: block !important;」指定された要素をjQueryで非表示にする方法
「display: block !important;」指定された要素をjQueryで非表示にする方法

jQueryで特定の要素を非表示にしたかったのでhide()を使用したところ非表 ...

jQueryでHTMLの特定要素をループ時に逆順で処理する方法
jQueryでHTMLの特定要素をループ時に逆順で処理する方法

jQueryでリスト(li)タグ等の特定要素をeach()でループ処理する場合、 ...