document.getElementById("txtNextCtrl").focus();

解决方案 »

  1.   

    谢谢楼上的!
    我再详细点描述一下:我使用的页面会在</body>的前面写一个默认的focus动作,document.all("dummyField").focus(),这是我们的框架里写定了的。而我在显示这个页面时需要focus另一个控件(连续十个input中的第一个控件),于是我在页面中写了如下的代码:
    document.body.onload = myfocus;
    function myfocus () { document.all("input1").focus(); }
    然后处理了onKeyDown事件,使在input1上回车事件能自动选中input2,然后是input3...
    当页面显示后,input1被正确选中了,但当在input1上敲回车时光标却不显示在input2上,但activeElement已经是input2了,因为再次点击回车时,srcElement确实是input2;
    ----------------
    当然,如果我强行去掉框架里的document.all("dummyField").focus(),表现就正常了,光标就能很听话的一次跳过input1、input2、input3....what happend ?
      

  2.   

    再补充一下:
    onkeydown事件中的处理代码大致如下:var srcInput = event.srcElement;
    nextInput = getNextCtrl(srcInput);
    srcInput.blur();
    nextInput.focus();-------------------
    Thanks for any response !
    -------------------
      

  3.   

    是不是框架中的那句document.all("dummyField").focus()把光标定死在某个位置了,每次敲回车的时候都执行这条语句?瞎猜的,hoho
      

  4.   

    getNextCtrl ?
    ====CSDN====
    无厘头冲动回帖
      

  5.   

    1. document.all("dummyField").focus()只会在页面显示完毕以后执行一次;
    2. getNextCtrl是我自定义的js方法;晕啊,只好强行去掉那句话喽-_-