2

当我在开发我们公司网站的移动版本时,我遇到了一个问题,我认为是 BlackBerry 10 浏览器的问题。(我使用的是 Q10,版本 10.1.0.4181)

我正在使用 jQuery 绑定到表单上的提交事件以执行 AJAX 调用,所以我有一个 preventDefault,但似乎 BB10在使用浏览器提供的 SUBMIT 按钮时似乎忽略了这一点。

当按下回车键或按下表单的提交按钮时它工作正常,但是当我按下浏览器底部的提交按钮(与上一个/下一个按钮一起)时,它会忽略 preventDefault (并返回 false)并继续提交表单。

我设置了一个 jsfiddle 来演示这个:http:
//jsfiddle.net/e4AHZ/4/

我用来绑定的代码是:

$(function () {
    $(document).on('submit', 'form', function (e) {
        e.preventDefault();
        alert('done!');
        return false; // as final resort, no luck =(
    });
});

还有其他人有这个问题吗?是否有可能的修复/解决方法?

谢谢!

4

2 回答 2

0

我通过添加action="javascript:void(0);"解决了这个问题 给你形式(见更新的小提琴http://jsfiddle.net/e4AHZ/11/)。

我不知道这是否足够好但是action="javascript:void(0);" 实际上是针对类似问题的解决方案的一部分。

<form method="post" action="javascript:void(0);">
    <input type="text" name="field1" value="some msg" />
    <input type="text" name="field2" value="some msg" />
    <input type="submit" />
</form>
于 2013-08-05T14:53:11.857 回答
0

您还可以将操作设置为“javascript:ajaxfunction();” 其中“ajaxfunction()”是您要调用以提交表单的函数:

$('form').attr("action","javascript:ajaxfunction();");

这应该允许您利用该提交按钮。

于 2014-03-24T19:16:14.333 回答