当我在我们公司网站的移动版本上工作时,我遇到了,我认为是BlackBerry 10浏览器的一个问题。 (我正在使用Q10,版本10.1.0.4181)
我正在使用jQuery绑定到表单上的submit事件来进行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 =(
});
});
其他有此问题的人?是否有可能的修复/解决方法?
谢谢!
答案 0 :(得分:0)
我通过向您添加 action =“javascript:void(0);”来解决这个问题(请参阅更新的小提琴http://jsfiddle.net/e4AHZ/11/)。
我不知道这是否足够好,但 action =“javascript:void(0);”实际上是给定to a similar question的解决方案的一部分。
<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>
答案 1 :(得分:0)
您还可以将操作设置为“javascript:ajaxfunction();”其中“ajaxfunction()”是您要调用以提交表单的函数:
$('form').attr("action","javascript:ajaxfunction();");
这应该允许您利用该提交按钮。