关于javascript的onkeyup事件的一点疑问

今天在做一个类似IP输入框的时候遇到一个不大不小的麻烦!在我使用onkeyup事件的时候程序运行了我所预料之外的结果,把代码贴在这里,看看是问题出在那里。有解决方案的把代码贴上大家共享,谢谢了!
[code]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<script>
function keyJump1(obj){
if(obj.length==4) {
document.all.personNumber2.focus();
}
}
function keyJump2(obj){
if(obj.length==6) document.all.personNumber3.focus();
}
function keyJump3(obj){
if(obj.length==8) document.all.personNumber4.focus();
}
</script>
<body>
<table border="0">
<tr>
<td><input name="personNumber1" type="text" class="textbox" style=" width:030; height:20 " οnfοcus="this.select()" οnkeyup='keyJump1(this.value)' maxlength="4"></td>
<td width="005">-</td>
<td ><input name="personNumber2" type="text" class="textbox" style=" width:040; height:20" οnfοcus="this.select()" οnkeyup='keyJump2(this.value)' maxlength="6"></td>
<td width="005">-</td>
<td ><input name="personNumber3" type="text" class="textbox" style=" width:055; height:20" οnfοcus="this.select()" οnkeyup='keyJump3(this.value)' maxlength="8"></td>
<td width="005">-</td>
<td ><input name="personNumber4" type="text" class="textbox" style=" width:010; height:20" οnfοcus="this.select()" οnkeyup='' maxlength="1"></td>
</tr>
</table>
</body>
</html>
[/code]
这张页面按我最初的设计是在判断前一个输入框已输入符合长度的值时自动跳到下一个输入框,并将输入框内的内容选中。在输入框都为空的情况下能正常运行,但当输入框都填满后,回到第一个输入框或第二个输入框,再对值进行修改时就出现问题了,如:在第一输入框输入四个字符后,焦点并不是跳到第二个输入框,却跳到了第三个输入框,似乎是在第二个输入框自动激发了一次onkeyup事件,但这应该不是代码中的错误。郁闷,谢谢各位指点迷津!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值