我有一个简单的登录表单,用一些简单的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中使用相同的“保存密码”功能时,它可以正常工作。
有关如何解决此问题的任何想法?
答案 0 :(得分:1)
将按键更改为keyup,所有功能都完美无缺。
$('#username, #password').bind('keyup', function(e) {
if (e.which == 13) {
$('#loginForm').submit();
e.preventDefault();
}
});
感谢 CoolEsh 提示