Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Safari不会触发表单提交_Javascript_Jquery_Html_Safari - Fatal编程技术网

Javascript Safari不会触发表单提交

Javascript Safari不会触发表单提交,javascript,jquery,html,safari,Javascript,Jquery,Html,Safari,对于一个项目,我得到了两个selectformfields,它们通过jquery触发器(“submit”)发送; 这在Firefox和Chrome中运行良好,但在Safari中什么都没有发生 这是HTML代码: <body> <form action="http://google.de" target="_blank" style="display: inline;" method="get"> <select class="bstarch2" da

对于一个项目,我得到了两个selectformfields,它们通过jquery触发器(“submit”)发送; 这在Firefox和Chrome中运行良好,但在Safari中什么都没有发生

这是HTML代码:

<body>
    <form action="http://google.de" target="_blank" style="display: inline;" method="get">
    <select class="bstarch2" data-role="none" name="q">
        <option value="none">Please choose</option>
        <option value="a: worked">A</option>
        <option value="b: worked">B</option>
    </select>
</form>
<select class="bstarch" data-role="none">
    <option value="none">Please choose</option>
    <option value="http://google.de">Google</option>
    <option value="http://en.wikipedia.org">Wikipedia</option>
</select>
<form action="" method="get" target="_blank" id="mmform"></form>
</body>
我这里有一个JSFIDLE,而且它不适用于Safari:

谢谢你的帮助

编辑: 知道了: safari似乎阻止表单作为弹出窗口提交。 代码是正确的,但它被Safari阻止…
无法回答我的问题,因为我的声誉太小。

尝试使用jQuery代替$

     jQuery("body").on("change", ".bstarch", function () {
      if (jQuery(this).val() != "none") {
       jQuery("#mmform").attr("action", $(this).val());
       jQuery("#mmform").trigger("submit");
       jQuery(this).val("none");
      }
    });

在桌面Mac上使用Safari版本11.1.2(13605.3.8):如果在表单标记中指定target=“\u blank”,则提交表单失败。同样的表单在其他浏览器上也能正常工作。删除target=“\u blank”规范,表单即可正常工作。使用target=“\u blank”的相同表单在其他浏览器(包括Chrome、Firefox和IE)上也能正常工作


我只能假设,未能支持“target”属性是Safari的缺陷。一种可能的解决方法是使用“javascript:window.open()”而不是URL作为操作

遗憾的是,这并没有解决问题,它在safari中仍然不起作用。谢谢!你救了我几个小时的挠头!
     jQuery("body").on("change", ".bstarch", function () {
      if (jQuery(this).val() != "none") {
       jQuery("#mmform").attr("action", $(this).val());
       jQuery("#mmform").trigger("submit");
       jQuery(this).val("none");
      }
    });