我有一个用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。
因此,一旦表单验证,它就会创建一个click事件并在提交按钮上执行它。
我想弄清楚为什么表单在新窗口中成功提交,但有时会被弹出窗口阻止程序阻止。
点击后验证是否有可能花费太长时间,因此JS触发的新窗口事件被浏览器阻止了?