gpt4 book ai didi

javascript - Safari 不触发表单提交

转载 作者:行者123 更新时间:2023-12-01 04:09:06 32 4
gpt4 key购买 nike

对于一个项目,我有两个选择表单字段,它们通过 jquery 触发器发送(“提交”);这在 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):如果在 form 标记内指定 target="_blank",则提交表单将失败。相同的表单在其他浏览器上可以按预期工作。删除 target="_blank"规范,表单可以正常工作。带有 target="_blank"的相同表单在其他浏览器(包括 Chrome、Firefox 和 IE)上确实可以按预期工作。

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

关于javascript - Safari 不触发表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23218156/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com