Javascript 在窗体上输入键覆盖

Javascript 在窗体上输入键覆盖,javascript,forms,tabs,enter,Javascript,Forms,Tabs,Enter,我必须支持一个数据输入表单,它是由一位早已去世的人编写的,它使用Javascript使Enter键的行为类似于Tab键,这样输入数据的人可以非常快速地键入-、-等等。之所以这样设置,是因为他们每个月的每一天都要输入3个数字,每个表单提交一个月,而且他们通常要等到有整整一个月的数据才能输入 下面是覆盖Enter键的JS函数: function handleEnter(field, event) { var keyCode = event.keyCode ? event.keyCode : even

我必须支持一个数据输入表单,它是由一位早已去世的人编写的,它使用Javascript使Enter键的行为类似于Tab键,这样输入数据的人可以非常快速地键入-、-等等。之所以这样设置,是因为他们每个月的每一天都要输入3个数字,每个表单提交一个月,而且他们通常要等到有整整一个月的数据才能输入

下面是覆盖Enter键的JS函数:

function handleEnter(field, event) {
var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
if (keyCode == 13) {
    var i;
    for (i = 0; i < field.form.elements.length; i++)
        if (field == field.form.elements[i])
            break;
    i = (i + 1) % field.form.elements.length;
    field.form.elements[i].focus();
    return false;
} else {
    return true;
}    
函数handleEnter(字段、事件){
var keyCode=event.keyCode?event.keyCode:event.which?event.which:event.charCode;
如果(键代码==13){
var i;
对于(i=0;i
}

这实际上对每个人都很好,在我测试过的每个浏览器中,除了一个客户,他每个月都要输入几个位置的数据。上周,在这个表单上,回车键根本不起作用。更重要的是,现在她甚至不能在每天的第三列单击,也不能转到每个月行的最后一天。我在屏幕共享上看到了这个问题,但我无法远程控制她的计算机或调试JS。(Tab键确实会移动光标,但会移动到随机字段,即使所有tabindex值都设置正确。)

我无法在任何计算机上重新创建此问题。她说她已经使用相同的设置(WinXP/IE8)六个月了,问题才刚刚开始。我尝试过多种浏览器/操作系统的组合,包括两台运行IE8的WinXP机器。(一个奇怪的旁注:她说在表单上使用iPad时,她也不能点击第三个字段,但当然,我的iPad可以很好地使用。)

我在StackOverflow上看到了这个似乎相关的问题,除了我没有尝试更改击键,只是拦截它,阻止默认行为,并执行一些其他行为:

我想可能是她电脑上的恶意软件/键盘记录器导致了这个问题,但iPad的问题让这成为了问题。她的路由器里可能有恶意软件吗?我必须让它再次为她工作,但我不能重新创建这个问题来调试它


以前有人见过类似的情况吗?

可能是因为她使用了某种可能会干扰关键事件的浏览器插件吗?我通常会将点击问题视为一个单独的问题。恶意软件也不太可能仅仅干扰几个javascript事件,更不用说它会被放在路由器中(这本身不太可能)。@Geekfish:谢谢你的理智检查。在我说用Firefox或Chrome,甚至IE在另一台电脑上试试之前,我只是想看看是否有异国情调的解释。如果你确实找到了这种情况发生的某种外部原因,而不是她自己的设备,请更新这个问题-我想知道这将是非常有趣的。