<html><form method=post id="form_reg" action=test.php>
  <input type=text name=a>
  <input type=text name=b>
  <input type=submit value=OK>
</form><script language=javascript>
  //初始状态让光标在输入框a上
  document.forms[0].a.focus();  //在FORM_REG中用ENTER模拟TAB键
  function form_reg_onkeydown() {
    if (event.keyCode==13){
      event.keyCode=9;
    }
  }
</script></html>

解决方案 »

  1.   

    谢谢~~~,是可以模拟Tab键了,但是我连提交也按不了啦,不是简单的把回车键换成TAB键,要判断焦点是不是在a上,是就替换成TAB键,不是就不改变行为我不知道用代码怎么描述,麻烦再帮我一下
      

  2.   

    <HTML>
    <script language=javascript>
      function window.onload()
      {
         frm1.a.focus();  }
      function window.document.onkeypress()
      { 
        if(event.srcElement.id == "a")
        {
          frm1.b.focus();
          return false;
        }
        else
        { alert();
          frm1.submit();
        }      
      }   
    </script>
    <BODY>
    <%
    If Request.ServerVariables("REQUEST_METHOD") <> "GET" Then
      Response.Write "*****"
      Response.End
    End If
    %>
    <form id="frm1"  method="post" action="active.asp">
      <input type=text name="a" id ="a" value="a">
      <input type=text name="b" id="b" value="b">
      <input type=submit value=OK>
    </form>
    </BODY>
    </HTML>
      

  3.   

    加个判断:if(event.srcElement.id == "a")
      

  4.   

    非常感谢,综合Gorgee 和 tianmingchun的代码,已基本实现我的设想了
    但是我有些不明白,对 tianmingchun的代码做点修改就不可以了,如下:
    <HTML>
    <script language=javascript>
      function window.onload()
      {
         frm1.a.focus();
      }
      function window.document.onkeypress()
      { 
        //不是回车键则不作处理,此处结果正确,对不是回车键可以正确显示到输入框
        if(event.keyCode==13)
        {
          就改动了这行,是想把回车键换为TAB键,但是对回车键没有反应了,不知何故
          if(event.srcElement.id == "a")event.keyCode=9;
          else frm1.submit();   //这行结果也正确
        }    
      }   
    </script>
    <BODY>
    <form id="frm1"  method="post" action="active.asp">
      <input type=text name="a" id ="a" value="a">
      <input type=text name="b" id="b" value="b">
      <input type=submit value=OK>
    </form>
    </BODY>
    </HTML>但是改成如下的代码就正确了
    <HTML>
    <script language=javascript>
      function window.onload()
      {
         frm1.a.focus();  }
      function test()   //换了个函数名
      { 
        //不是回车键则不作处理
        if(event.keyCode==13)
        {
          //这两行代码和上面相同,但是结果却正确了
          if(event.srcElement.id == "a")event.keyCode=9;
          else frm1.submit();
        }    
      }   
    </script>
    <BODY>
    <form id="frm1"  method="post" action="active.asp" onkeydown=test()>  <!-- 稍改了这里 -->
      <input type=text name="a" id ="a" value="a">
      <input type=text name="b" id="b" value="b">
      <input type=submit value=OK>
    </form>
    </BODY>
    </HTML>再麻烦哪位解释一下为什么上面的代码结果不正确,而下面的正确,谢谢!~~~
      

  5.   

    window.document.onkeypress()无法取到keyCode数值用function window.document.onkeydown()
    {
     ...
    }
      

  6.   

    通用的回车键切换焦点function shiftfocus()
     { var keychar,fn,fesum,i,j,k,fsum;
       var fname=event.srcElement.name;
       if(document.layers) //ns
        { document.captureEvents(event.keydown);
          kechar=event.which;
        }
       if(document.all) //IE 
         keychar=event.keyCode;
       if(keychar==13)
       { fsum=document.forms.length;
         if(fname!=null) 
          { for(i=0;i<fsum;i++)
            { fesum=document.forms[i].elements.length;
              for(j=0;j<fesum;j++)
               { if(fname==document.forms[i].elements[j].name)
                  { if(document.forms[i].elements[j].type=="textarea")
                        return;
                    if(document.forms[i].elements[j].type=="submit"||document.forms[i].elements[j].type=="reset"||document.forms[i].elements[j].type=="button")
                     { document.forms[i].elements[j].click();
                       return false;
                     }
                    k=j+1; 
                    if(k>=fesum)
                      { i++;
                        k=0;
                      }
                    if(i>=fsum)
                     { i=0;
                       k=0;
                     }
                    for(;document.forms[i].elements[k].type=="hidden";k++);
                    document.forms[i].elements[k].focus();
                    if(document.forms[i].elements[k].type=="submit"||document.forms[i].elements[k].type=="reset"||document.forms[i].elements[k].type=="button")
                     { document.forms[i].elements[k].click();
                       return false;
                     }                return false;
                  }//if
               }//for
            }//for
          }//if
        document.forms[0].elements[0].focus();
        return false;
      }//if
    }//function 
    document.onkeydown=shiftfocus;
    记得给分
      

  7.   

    <input type=text id=a name=a onkeypress="goB()">
    <input type=text id=b name=b onkeypress="submit()">
    <script>
        function goB()
        {
            if(event.keyCode==13)
            {window.b.focus()}
        }
        function submit()
        {
            if(event.keyCode==13)
            {......}
            else
            {return false}
        }
    </script>