jQuery で検証するフォームがあり、エラーがなければフォームを送信します。フォームがtarget="_blank"
あるので、新しいウィンドウで開きます。
新しいウィンドウが正常に開く場合もありますが、Chrome のポップアップ ブロッカーによってブロックされる場合もあります。
JavaScript を使用してフォームを送信していましたが、ブロックされないようにクリック イベントが必要であることがわかりました。
コードを変更しましたが、ポップアップ ブロッカーによって新しいウィンドウがブロックされることがあります。
ここにコードがあります
$(".startBtnBox").click( function () {
if( validate() ){
var evt = document.createEvent("MouseEvents");
var newTab = document.getElementById("submit_1st_step");
evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
newTab.dispatchEvent(evt);
}
}
submit_1st_step
フォームの送信ボタンの ID です。
したがって、フォームが検証されると、クリック イベントが作成され、送信ボタンで実行されます。
フォームが新しいウィンドウで正常に送信された理由を理解したいのですが、ポップアップブロッカーによってブロックされることがあります。
クリック後に検証に時間がかかりすぎて、JS によってトリガーされた新しいウィンドウ イベントがブラウザーによってブロックされる可能性はありますか?