function move_inp(i,n,s,a){
keycode=event.keyCode;//focus(),down 40,up 38
if(keycode==40){n=n+1;}else if(keycode==38){n=n-1;}
if(n<a&&n>=s){eval("document.all."+i+""+n).focus();eval("document.all."+i+""+n).select();event.returnValue=false;}
}

解决方案 »

  1.   

    function move_inp(i,n,s,a){
    keycode=event.keyCode;//focus(),down 40,up 38
    if(keycode==40 || keycode==38)
    {

    n= keycode==40?n+1:n-1;
    if(n<a &&n >= s)
    {

    eval("document.all."+i+""+n).focus();
    eval("document.all."+i+""+n).select();
    event.returnValue=false;
    }
    }
    }
      

  2.   

    谢谢,问题以解决了.谢谢codeworker999,但是我感觉这几次修改并不是很大.为什么开始不好用呢.有没有朋友能给我说明一下,我不太理解!
      

  3.   

    要自动选择。设置onfocus="this.select()"就好。不必脚本设置
      

  4.   

    其实主要就是加了event.returnValue = false;
    一般来讲你按了键,都是要触发事件的,而这个事件一般来讲也会产生一些效果。当你没加的时候,其实select()也执行了,但是方法之后returnValue = true的话,就要执行一些我们看不到的代码。这个代码产生的效果就是你一开始看到的了。只有当returnValue = false那段代码才不执行。
    也就是说,全选的效果被正常的操作所产生的效果给覆盖了。
      

  5.   

    eval("document.all."+i+""+n).focus();
    eval("document.all."+i+""+n).select();
    =========================================已经选择
    event.returnValue=false;//阻止接受上下键,不写的话接受,使选择失效了