日期:2014-05-18  浏览次数:20609 次

请教一个onkeydown的问题.
我用的是firefox做测试.登陆模块.代码基本如下:
<input type=text name=username value="" onkeydown="if(event.keyCode==13)check();">
<input type=password name=password value="" onkeydown="if(event.keyCode==13)check();">
<input type=submit value="login" onclick="check();">
<script language="javascript">
funciton check()
{
  var username=document.all.username.value;
  var password=document.all.password.value;
  if(username.length==0)
  {
  window.alert("is empty!");
  document.all.username.focus();
  return false;
  }
  if(username.length==10)
  {
  document.all.password.focus();
  }
}
</script>

现在的问题是firefox有自动记忆文本的输入功能,当我第二次在username文本框双击时会出现记忆的历史记录。 如果我选种需要的记录,按下Enter,则会得到记忆的值,还有也要执行check()方法.
请问一下有什么方法可以避免这个问题呢???如果用onkeyup也不行.

------解决方案--------------------
if(this.value.length==0){if(event.keyCode==13)check();}

这样试试呢