Javascript Safari不会触发表单提交
对于一个项目,我得到了两个selectformfields,它们通过jquery触发器(“submit”)发送; 这在Firefox和Chrome中运行良好,但在Safari中什么都没有发生 这是HTML代码: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
<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");
}
});