0

我有一个用 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触发的新窗口事件被浏览器阻止的可能性?

4

0 回答 0