iPhone“Go"键盘按钮导致错误抛出前发回

iPhone "Go" keyboard button causes error to throw before post back

本文关键字:错误 按钮 Go quot 键盘 iPhone      更新时间:2023-09-26

我有一个带有表单和多个提交按钮的网页,每个按钮都做不同的事情(清除表单,执行计算,添加另一个输入行等)。

仅在iPhone上(测试在5和5s上,Opera和Chrome上,所以不是特定于浏览器),当用户在文本框中输入文本并按下内置在原生iPhone键盘上的"Go"按钮时,会弹出一个通用的弹出框,上面写着:

http://myurl
error

我将计算按钮设置为表单提交的默认操作,当iPhone的"Go"按钮被按下时(相当于按键盘上的Enter键),下面的jQuery将被触发:

var buttonKeys = { "EnterKey": 13 };
$(function () {
    $("input[name*=ItemValue]").keypress(function (e) {
        if (e.which == buttonKeys.EnterKey) {
            var formValid = $('form').validate().form();
            if (!formValid) { this.focus(); return false; }
            var defaultButtonId = $('form').attr("defaultbutton");
            $("#" + defaultButtonId).click();
            return false;
        }
    });
});

当您在提示符上单击ok时,将发生回发,并触发默认功能。没有什么看起来不正确,其他一切都如预期般发生。我已经完成了按钮按下后使用的jQuery,一切似乎都正常触发,但这个错误不断弹出。

有什么想法可能会发生在这里,甚至建议如何解决这个错误?

在所有其他浏览器和设备中不会发生这种情况。这个错误只出现在iPhone上。

如果有人有同样的问题,我能够通过从jquery 1.9.1升级到2.1.0来解决这个问题,仅适用于网站的移动版本(2.1.0不支持IE8,所以我没有在全球范围内这样做)。

该错误最终来自库本身,并且似乎是在后来的版本中修复的错误。