<script language="javascript">
function doKeyDown(obj)
{
    switch(event.keyCode)
    {
    case 13:
    case 39:
    case 40:
        if(obj.nextid != ""){
            document.all(obj.nextid).focus();
            document.all(obj.nextid).select();
        }
    break;
    case 37:
    case 38:
        if(obj.preid != ""){
            document.all(obj.preid).focus();
            document.all(obj.preid).select();
        }
    break;
    }
}
</script>
第一:<input type="text" id="T_1" nextid="T_2" preid="T_8" onkeydown="doKeyDown(this)"><br>
第一:<input type="text" id="T_2" nextid="T_3" preid="T_1" onkeydown="doKeyDown(this)"><br>
第一:<input type="text" id="T_3" nextid="T_4" preid="T_2" onkeydown="doKeyDown(this)"><br>
第一:<input type="text" id="T_4" nextid="T_5" preid="T_3" onkeydown="doKeyDown(this)"><br>
第一:<input type="text" id="T_5" nextid="T_6" preid="T_4" onkeydown="doKeyDown(this)"><br>
第一:<input type="text" id="T_6" nextid="T_7" preid="T_5" onkeydown="doKeyDown(this)"><br>
第一:<input type="text" id="T_7" nextid="T_8" preid="T_6" onkeydown="doKeyDown(this)"><br>
第一:<input type="text" id="T_8" nextid="T_1" preid="T_7" onkeydown="doKeyDown(this)"><br>
=============================================================================================
当移动键盘方向键时为什么这段代码里的文本框中的内容不能被select()
怎样才能被select()

解决方案 »

  1.   

    <input type="text" id="T_1" nextid="T_2" preid="T_8" onkeydown="doKeyDown(this,event)">// 将event传过去
    获取属性值也要兼容 obj.attributes["nextid"].nodeValue;
      

  2.   

    回车正常.
    但方向键的确不行.因为方向键对选中范围的影响是显而易见的.
    你会发现,按左时,会到上一个输入框内容的开头.按右时,会到下一个输入框内容的末尾.
    强行改变系统的规矩,结果可能还是费力不讨好.
    实在想的话,可以试试按住SHIFT再按上或下(但偶尔可能会差一两个字符的).
      

  3.   

    <script language="javascript">
    function doKeyDown(event, obj)
    {
      event = event || window.event;
      switch(event.keyCode)
      {
      case 13:
      case 39:
      case 40:
      if(obj.nextid != ""){
    setTimeout(function(){document.getElementById(obj.getAttribute("nextid")).focus();document.getElementById(obj.getAttribute("nextid")).select();},1);
        }
      break;
      case 37:
      case 38:
      if(obj.preid != ""){
    setTimeout(function(){document.getElementById(obj.getAttribute("preid")).focus();document.getElementById(obj.getAttribute("preid")).select();},1);
      }
      break;
      }
    }
    </script>
    第一:<input type="text" id="T_1" nextid="T_2" preid="T_8" onkeydown="doKeyDown(event,this)"><br>
    第一:<input type="text" id="T_2" nextid="T_3" preid="T_1" onkeydown="doKeyDown(event,this)"><br>
    第一:<input type="text" id="T_3" nextid="T_4" preid="T_2" onkeydown="doKeyDown(event,this)"><br>
    第一:<input type="text" id="T_4" nextid="T_5" preid="T_3" onkeydown="doKeyDown(event,this)"><br>
    第一:<input type="text" id="T_5" nextid="T_6" preid="T_4" onkeydown="doKeyDown(event,this)"><br>
    第一:<input type="text" id="T_6" nextid="T_7" preid="T_5" onkeydown="doKeyDown(event,this)"><br>
    第一:<input type="text" id="T_7" nextid="T_8" preid="T_6" onkeydown="doKeyDown(event,this)"><br>
    第一:<input type="text" id="T_8" nextid="T_1" preid="T_7" onkeydown="doKeyDown(event,this)"><br>
      

  4.   

    setTimeout(function(){document.getElementById(obj.getAttribute("preid")).focus();document.getElementById(obj.getAttribute("preid")).select();},800);