使用保存的密码在Firefox中输入不工作时的Javascript表单提交

时间:2011-04-27 06:49:31

标签: javascript jquery firefox

我有一个简单的登录表单,用一些简单的Javascript(JQuery)捕获用户名/密码,以便在用户按下任一字段时输入表单。这是相关的代码:

表格:

<form id="loginForm">
    <input type="text" id="username" />
    <input type="password" id="password" />
    etc...
</form>

Javascript:

$('#username, #password').bind('keypress', function(e) {
    if (e.which == 13) {
        $('#loginForm').submit();
        e.preventDefault();
    }
});

当用户打开该功能以让浏览器保存其密码时,我遇到的问题特定于 Firefox

如果我在用户名文本字段中输入用户名的前几个字母,Firefox会向我显示它记住的选项。如果我按下向下箭头突出显示用户名,然后点击回车键选择它,那么我的Javascript会在之前触发 Firefox自动完成密码字段。这会导致提交空白密码。

在Chrome中使用相同的“保存密码”功能时,它可以正常工作。

有关如何解决此问题的任何想法?

1 个答案:

答案 0 :(得分:1)

将按键更改为keyup,所有功能都完美无缺。

$('#username, #password').bind('keyup', function(e) {
    if (e.which == 13) {
        $('#loginForm').submit();
        e.preventDefault();
    }
});

感谢 CoolEsh 提示