if(event.keyCode == 40)
{
var id = window.event.srcElement.name
id = id.substr(1,1)
id = parseInt(id) + 1
if(id > 12) id = 1
eval("document.form1.d" + id + ".focus()")
}这里的id怎么也不会大于12啊

解决方案 »

  1.   

    。<form name="form1" method="post" action="">
      <p> (1) 
        <input type="text" name="d1" onkeydown="test(this)">
      </p>
      <p> (2) 
        <input type="text" name="d2" onkeydown="test(this)">
      </p>
      <p> (3) 
        <input type="text" name="d3" onkeydown="test(this)">
      </p>
      <p> (4) 
        <input type="text" name="d4" onkeydown="test(this)">
      </p>
      <p> (5) 
        <input type="text" name="d5" onkeydown="test(this)">
     <p> (6) 
        <input type="text" name="d6" onkeydown="test(this)">
     <p> (7) 
        <input type="text" name="d7" onkeydown="test(this)">
     <p> (8) 
        <input type="text" name="d8" onkeydown="test(this)">
     <p> (9) 
        <input type="text" name="d9" onkeydown="test(this)">
     <p> (10) 
        <input type="text" name="d10" onkeydown="test(this)"> <p> (11) 
        <input type="text" name="d11" onkeydown="test(this)"> <p> (12) 
        <input type="text" name="d12" onkeydown="test(this)">
      </p>
    </form>
    <script>
    function test(obj)
    {
    if(event.keyCode == 38)
    {
    var id = window.event.srcElement.name
    id = id.substr(1)
    id = parseInt(id) - 1
    if(id < 1) id = 12
    eval("document.form1.d" + id + ".focus()")
    }
    if(event.keyCode == 40)
    {
    var id = window.event.srcElement.name
    id = id.substr(1)
    id = parseInt(id) + 1
    if(id > 12) id = 1
    eval("document.form1.d" + id + ".focus()")
    }
    }
    </script>
      

  2.   

    function test(obj)
    {
    if(event.keyCode == 38)
    {
    var id = window.event.srcElement.name
    id = id.substr(1)
    id = parseInt(id) - 1
    if(id < 1) id = 12
    eval("document.form1.d" + id + ".focus()")
    }
    if(event.keyCode == 40)
    {
    var id = window.event.srcElement.name
    id = id.substr(1)
    id = parseInt(id) + 1
    if(id > 12) id = 1
    eval("document.form1.d" + id + ".focus()")
    }
    }
      

  3.   

    。<form name="form1" method="post" action="">
      <p> (1) 
        <input type="text" name="d1" onkeydown="test(this)">
      </p>
      <p> (2) 
        <input type="text" name="d2" onkeydown="test(this)">
      </p>
      <p> (3) 
        <input type="text" name="d3" onkeydown="test(this)">
      </p>
      <p> (4) 
        <input type="text" name="d4" onkeydown="test(this)">
      </p>
      <p> (5) 
        <input type="text" name="d5" onkeydown="test(this)">
     <p> (6) 
        <input type="text" name="d6" onkeydown="test(this)">
     <p> (7) 
        <input type="text" name="d7" onkeydown="test(this)">
     <p> (8) 
        <input type="text" name="d8" onkeydown="test(this)">
     <p> (9) 
        <input type="text" name="d9" onkeydown="test(this)">
     <p> (10) 
        <input type="text" name="d10" onkeydown="test(this)"> <p> (11) 
        <input type="text" name="d11" onkeydown="test(this)"> <p> (12) 
        <input type="text" name="d12" onkeydown="test(this)">
      </p>
    </form>
    <script>
    function test(obj)
    {
    if(event.keyCode == 38)
    {
    var id = window.event.srcElement.name
    id = id.substr(1)
    id = parseInt(id) - 1
    if(id < 1) id = 12
    eval("document.form1.d" + id + ".focus()")
    }
    if(event.keyCode == 40)
    {
    var id = window.event.srcElement.name
    id = id.substr(1)
    id = parseInt(id) + 1
    if(id > 12) id = 1
    eval("document.form1.d" + id + ".focus()")
    }
    }
    </script>
      

  4.   


    <script>
    function test(obj)
    {
    if(event.keyCode == 38)
    {
    var id = window.event.srcElement.name
    id = id.substr(1,1)
    id = parseInt(id) - 1
    if(id < 1) id = 12
    eval("document.form1.d" + id + ".focus()")
    }
    if(event.keyCode == 40)
    {
    var id = window.event.srcElement.name
    id = id.substr(1,id.length-1)
    id = parseInt(id) + 1
    if(id > 12) id = 1
    eval("document.form1.d" + id + ".focus()")
    }
    }
    </script>
      

  5.   

    sorry,改了一处
    <script>
    function test(obj)
    {
    if(event.keyCode == 38)
    {
    var id = window.event.srcElement.name
    id = id.substr(1,id.length-1)
    id = parseInt(id) - 1
    if(id < 1) id = 12
    eval("document.form1.d" + id + ".focus()")
    }
    if(event.keyCode == 40)
    {
    var id = window.event.srcElement.name
    id = id.substr(1,id.length-1)
    id = parseInt(id) + 1
    if(id > 12) id = 1
    eval("document.form1.d" + id + ".focus()")
    }
    }
    </script>
      

  6.   

    这样用
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <script language="javascript">
    var cols=1;
    var obj;
    var CanMove=false;
    var key;
    function setobj(input){
    obj=input;//捕获当前控件对象;
    }//初始化,用KeyDown和KeyUp方法改写原来的onkeydown和onkeyup方法;
    function init(){
    document.onkeydown=keyDown;
    document.onkeyup=keyUp;
    }
    function keyDown(DnEvents){
    var key=window.event.keyCode;
    if(key==116){
    window.event.keyCode=0;//屏蔽F5(刷新)键;
    return false;
    }
    if(key==8){
    if(event.srcElement.tagName!="INPUT"){
    event.cancelBubble = true;//如果控件当前类型为“input”,屏蔽退格键;
    event.returnValue = false;
    return false;
    }
    } for(var i=0;i<document.forms[0].elements.length;i++){
    if(document.forms[0].elements[i]==obj){
    if (key == 37){//←
    if(i>0){
    document.forms[0].elements[i-1].focus();
    }
    }
    if (key == 38){//↑
    if(i>cols-1){
    document.forms[0].elements[i-cols].focus();
    }
    }
    if (key == 39){//→
    if(i<document.forms[0].elements.length-1){
    document.forms[0].elements[i+1].focus();
    }
    }
    if (key == 40){//↓
    if(i<document.forms[0].elements.length-cols){
    document.forms[0].elements[i+cols].focus();
    }
    }
    }
    }}function keyUp(UpEvents){
    return false;
    }
    </script>
    </head><body bgcolor="#FFFFFF" text="#000000" onload="init()">
    <form>
      <p> (1) 
        <input type="text" name="d1" onfocus="setobj(this)">
      </p>
      <p> (2) 
        <input type="text" name="d2" onfocus="setobj(this)">
      </p>
      <p> (3) 
        <input type="text" name="d3" onfocus="setobj(this)">
      </p>
      <p> (4) 
        <input type="text" name="d4" onfocus="setobj(this)">
      </p>
      <p> (5) 
        <input type="text" name="d5" onfocus="setobj(this)">
     <p> (6) 
        <input type="text" name="d6" onfocus="setobj(this)">
     <p> (7) 
        <input type="text" name="d7" onfocus="setobj(this)">
     <p> (8) 
        <input type="text" name="d8" onfocus="setobj(this)">
     <p> (9) 
        <input type="text" name="d9" onfocus="setobj(this)">
     <p> (10) 
        <input type="text" name="d10" onfocus="setobj(this)">
     <p> (11) 
        <input type="text" name="d11" onfocus="setobj(this)">
     <p> (12) 
        <input type="text" name="d12" onfocus="setobj(this)">
      </p>
    </form>
    </body>
    </html>