在新窗口中打开表单提交,不会阻止弹出窗口

时间:2018-01-10 13:31:37

标签: javascript jquery forms popup

我尝试在新窗口/标签中打开表单提交的结果。在用户选择下拉列表中的选项后执行提交。

$(function() {
  $('select').change(function() {
    $(this).parents('form').submit();
  });
});
<!DOCTYPE html>
<html>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
  </head>
  <body>
    <form action="/result.html" method="post" target="_blank">
      <select>
        <option val="1">Opt 1</option>
        <option val="2">Opt 2</option>
      </select>

      <input type="submit" value="Submit" style="display: none;">
    </form>
  </body>
</html>

经过一些研究后我使用了这个实现。新窗口/提交不会自动执行。相反,我在交互后执行提交(在选择字段中更改)。此外,其间没有其他事件(例如ajax调用)。根据我的理解:脚本从trusted event打开新窗口,弹出窗口阻止程序不应该阻止这一点。但这正是发生的事情。

即使是上面的简单实现,也会触发Google Chrome(Mac,63.0)和Firefox(57.0.3)中的弹出窗口。

现在没有办法在新窗口中打开表单结果,而不是在白名单上?

0 个答案:

没有答案