まえがき
フォームで送信用のボタンのクリックイベントを用いた際に発火は確認できているのに送信が出来ず詰まっていた。
コード(送信できないパターン)
*送信ボタン
<input id="submit" type="submit" value="確認画面へ">
*送信処理
var clickCount = 0;
$('#submitForm').click(function() {
clickCount++;
if (clickCount === 1) {
$(this).closest('form').submit();
return false;
} else {
setTimeout(function() {
clickCount = 0;
}, 2000);
}
});
原因
POST送信のボタンに使用したid名がsubmitだったため。
まとめ
送信用の要素のidやnameにはsubmitを使用しない。
今回はsubmitFormという名前にして回避した。(プロジェクト内で他のフォームに同様のものがあったため)
参考
jQueryで$(form).submit()でフォームが送信されない場合の対処法
https://yuzurus.hatenablog.jp/entry/jquery-disable-submit