<script> 
function   l(obj,e){ 
        var   e=(typeof   event!= 'undefined ')?window.event:e;//   IE   :   Moz 
        if(e.keyCode==13){ 
                var   ele   =   document.forms[0].elements; 
                for(var   i=0;i <ele.length;i++){ 
                        var   q=(i==ele.length-1)?0:i+1;//   if   last   element   :   if   any   other 
                        if(obj==ele[i]){ele[q].focus();break} 
                } 
                return   false; 
        } 
}   
</script>  
<FORM   METHOD= "POST "   ACTION= " "   name= "form1 "> 
<INPUT   TYPE= "text "   onkeydown= "tabl(this,event) "> 
<INPUT   TYPE= "text "   onkeydown= "tabl(this,event) "> 
</FORM> 

解决方案 »

  1.   

    况且我们是根据table index 来定位的
      

  2.   

    那你是想做什么?tab键不也只是转移焦点吗?
      

  3.   

    javascript:if(event.keyCode==13)event.keyCode=9; 
    总不能都调用这个方法吧
    keyCode firefox 没有的,全局的方法
      

  4.   

    <script>
    function k(c){
    obj=document.getElementsByTagName('input');
    if(event.keyCode==13&&c<obj.length)obj[parseInt(c)].focus()}
    </script>
    <input onkeyup="k(this.alt)" alt='1'/>
    <input onkeyup="k(this.alt)" alt='2'/>
    <input onkeyup="k(this.alt)" alt='3'/>
    这个呢?
      

  5.   

    我不喜欢firefox
    所以不装!
    也没办法调试了!
      

  6.   

    在ie和firefox中捕获按键keycode的方法
    <script type=text/javascript>
    function onKeypress(e){
            var isie = (document.all) ? true : false;
            var key;
            if (isie)
                key = window.event.keyCode;
            else
                key = e.which;
            alert(key);
        }</script><INPUT type="text" onkeypress="onKeypress(event)" size="" maxlength="" name="" value="ss">
      

  7.   

    在firefox中,只需要用e.which代替window.event.keyCode;
    就OK了
      

  8.   

    你做一个判断兼容的
    event.keyCode
    event.which
    IE下就调用event.keyCode
    firefox就调用event.which
      

  9.   

    function   enter_key(evt)   
      {    
              if(evt   ==   null)     
              {   
                      evt   =   window.event;   
              }   
              var   obj   =   evt.srcElement?   evt.srcElement   :   evt.target;   
              
              var   ele   =   document.forms["form1"].elements;   
                 
              if(evt.keyCode==13)   
              {   
                      if   (obj.type!="button")   
                      {   
                              var     obj_id;   
                              for   (var   i   =   0;   i   <   ele.length;   i++)     
                              {   
                                    if(ele[i].id   ==     obj.id)   
                                    {   
                                            ele[i+1].focus();   
                                              break;   
                                    }   
                                    ele[0].focus();   
                              }   
                      }   
                        
              }   
      }   
      只要把onkeydown   ="javascript:enter_key(event)"这个放在body里,就ok了
    用这个看看
      

  10.   

    这段代码还是没考虑firefox情况吧
      

  11.   

    你直接说你要修改什么吧!
    我刚装上firefox
    说,我调试下!你这20分也太少了!
      

  12.   

    好的,谢谢
    除了Button ,其他控件Enter==Table
      

  13.   

    <script type="text/javascript">
    function noNumbers(e){
    var keynumvar; 
    var keycharvar; 
    var numcheck;
    if(window.event) // IE
    {
    keynum = e.keyCode;
    }
    else if(e.which) // Netscape/Firefox/Opera
    {
    keynum = e.which;
    }
    keychar = String.fromCharCode(keynum);
    numcheck = /d/;
    return !numcheck.test(keychar)
    }
    </script>
    <form action="1.asp"><input type="text" onkeypress="return noNumbers(event)" /></form>
    试了下这个判断是可以的
      

  14.   

    那怎么改变
    除了Button   ,其他控件Enter==Table
      

  15.   

    e.which不能代替window.event.keyCode; 
      

  16.   

    在firefox中
     key = event.which; 
     keychar = String.fromCharCode(key);
    alert(''+key+'') 
    alert(''+keychar+'') 
    汗!这样输出,第一个为1,第二个为空!
    汗!!难怪不起作用!
      

  17.   

    关键我们怎么样可以改变firefox的event.which
      

  18.   

    <script> 
    function Enter2Tab(obj,e)
    {
    var ele=document.getElementsByTagName('input');
    var key,keychar; 
     if(window.event){ 
      key = window.event.keyCode; 
     } 
     else if (e){ 
      key = e.which; 
      
     }
     alert('event.which='+e.which+'')
                if (event.keyCode==13)
                {
     event.keyCode = 9;
    if(event.keyCode==13&&obj<obj.length){
    obj[parseInt(obj)].focus();
    }   
                 }
                  else
                    {
                        //e.which = 9;
    alert('event.which='+e.which+'')
                   }   
                                   
                    }</script> 
    <form name="fomr1">
    <input  alt='1' name="a1" id="a1" onkeydown="Enter2Tab(this.alt,event)" TYPE=   "text" > 
    <input  alt='2' name="a2" id="a2" onkeydown="Enter2Tab(this.alt,event)" TYPE=   "text" > 
    <input  alt='3' name="a3" id="a3" onkeydown="Enter2Tab(this.alt,event)" TYPE=   "text" > 
    </form>这样可以获取e.which的值!但是,却不是作用!奇怪
      

  19.   

    第一个alert可以输出event.which=13
    但第二个alert却没有执行到!奇怪
      

  20.   

    当有Button 时更奇怪了
      

  21.   

    当有Button的情况不难,主要现在是第二个alert无法执行到
      

  22.   

    我们已经请人解决了
    [email protected]
      

  23.   

    firefox中最正道的方法应该是preventDefault()后,document.createEvent("KeyEvents");initKeyEvent和dispatchEvent去构造一个fromCharCode为9的keypress
      

  24.   

    initKeyEvent和dispatchEvent去构造一个fromCharCode为9的keypress
    我的那个就差这个了!
      

  25.   

    我就利用这个完全去无闪动限制输入兼容firefox的。function returnTab(evt){
        var k = window.event ? event.keyCode : evt.which;
        if( k==13){
    var Event = document.createEvent("KeyEvents");
    Event.initKeyEvent("keypress",0,0,null,0,0,0,0,0,13);创造这个13
    evt.target.dispatchEvent(Event);
    evt.preventDefault();
        }
    }
      

  26.   

    上面的13应该改成9,这个是我觉得最好用的,只对firefox2x的版本通过测试。
      

  27.   

    那这样就可以实现Enter ->Tab