閲覧ありがとうございます。
前提・実現したいこと
AページからBページへPOSTでリクエストを送る際、自動遷移+2重サブミットが発生しないようにしたいです。
前提条件として、JSが動作しない場合用に遷移ボタンを表示させています。
現在、AページからBページへ自動遷移する機能を作成しています。
こちら前述したように遷移ボタンを表示させているのですが、こちらのボタンを押した際に自動遷移+ボタン押下の2重サブミットが発生してしまっている状況です。(自動遷移の際につけているsubmit機能、ボタン押下のsubmitでぶつかっている状況)
ボタンを押下した場合に自動遷移のsetTimeoutを打ち消す記述をしているのですが、うまく機能していないようです...
もし解決案をご存じでしたら、アドバイスをお願いします。
該当のソースコード
javascript
1 //postするformのnameをセット 2var formName = 'post_info'; 3//formを自動で送信 4var formSend = function() { 5 document.forms[formName].submit(); 6} 7//画面自動遷移の秒数:3秒 8var time = 3000; 9//変数へ格納 10var transition = setTimeout(formSend, time); 11//Aページが開けたら自動遷移 12window.onload = function() { 13 transition; 14} 15//注文確定ボタンを押下されたら自動遷移はしない処理(2重サブミット防止) 16document.getElementById('js_submit_btn').addEventListener('click', function(){ 17 clearTimeout(transition); 18}; 19
HTML
1<form action="xxx" name="post_info" method="post" onsubmit="return blockForm()"> 2・ 3・ 4・ 5 <p class="control"> 6 <input type="submit" value="ボタン" id="js_submit_btn" class="submit_btn" /> 7 </p> 8</form> 9
回答1件
あなたの回答
tips
プレビュー