Safari不会触发表单提交
Safari does not trigger form Submit
对于一个项目,我得到了两个通过jquery触发器("submit")发送的select表单字段;这在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>
这是Javascript代码:
$("body").on("change", ".bstarch", function () {
if ($(this).val() != "none") {
$("#mmform").attr("action", $(this).val());
$("#mmform").trigger("submit");
$(this).val("none");
}
});
$("body").on("change", ".bstarch2", function () {
if ($(this).val() != "none") {
$(this).parent().trigger("submit");
$(this).val("none");
}
});
我在这里有一个jsfiddle,它也不适用于Safari:http://jsfiddle.net/P7vNX/
谢谢你的帮助。
编辑:明白了:看来safari阻止了表单提交作为弹出窗口。代码是正确的,但它被Safari阻止了无法回答我的问题,因为我的名声太小了
在台式Mac上使用Safari 11.1.2版(13605.3.8):如果在表单标记中指定target="_blank",则提交表单失败。同样的表单在其他浏览器上也能正常工作。删除target="_blank"规范,表单即可正常工作。target="_blank"的相同表单在其他浏览器上也能正常工作,包括Chrome、Firefox和IE。
我只能假设这种无法支持"target"属性的情况是Safari的缺陷。一个可能的解决方案是使用"javascript:window.open()"而不是URL作为操作。
尝试使用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");
}
});
相关文章:
- HTML表单提交时未执行外部函数
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 将图像上传ajax与表单提交ajax相结合
- Javascript无法处理表单提交
- 如何在我的情况下禁用表单提交
- 加载后的页面与ajax表单提交不起作用
- angularjs-控制器在表单提交时未调用
- Safari在重定向/表单提交时暂停所有动画
- Safari在表单提交期间未更新UI
- Safari 5中一个奇怪的javascript表单提交错误的解决方法是什么
- 在Safari中,preventDefault在表单提交中不起作用
- 表单提交的Safari动画
- Safari再次? ?表单提交绕过AJAX
- 表单提交&JavaScript无法在IE、Firefox或Safari中工作;在Chrome中运行良好
- iOS - UIWebView -需要提交的表单在Safari中打开
- Safari不读取Jquery表单提交的提交按钮值
- Safari表单提交-返回false不工作
- 表单提交不工作在safari和工作在所有其他浏览器
- Safari不会触发表单提交
- 我如何说服这个jQuery按钮点击事件提交正确的表单[在Safari中]