问题:
     现有一个form表单,该表单有一个输入域,当光标的焦点集中在输入域中,回车之后该表单自动提交,但是我不想回车提交该表单,而是回车后什么都不做!我的解决办法是在该输入域中响应一个onkeydown事件:
  function doNothing(event){
     //IE和firefox
     var e=event?event:window.event;
     if(e.keyCode == 13){
        alert(keyCode);
        e.returnValue = false; 
     }
  }这中方法在IE下没问题,但是firefox下却不行,望高手指点!

解决方案 »

  1.   

    function doNothing(event){
        //IE和firefox
        var e=event?event:window.event;
        if(e.keyCode == 13){
            alert(keyCode);
            e.returnValue = false;
            if(navigator.userAgent.toLowerCase().indexOf("gecko") != -1){
              evt.preventDefault();
      evt.stopPropagation();
            }
        }
      } 
      

  2.   

    刚才试过你的方法,但是不行,回车之后还是会继续提交,我用的firefox3.0,谢谢!
      

  3.   

    function doNothing(event){
        //IE和firefox
        var e=event?event:window.event;
        if(e.keyCode == 13){
            alert(keyCode);
            if(navigator.userAgent.toLowerCase().indexOf("gecko") != -1){
    e.preventDefault();
    e.stopPropagation();
    }
    e.cancelBubble = true
    e.returnValue = false;
        }
      } 
      

  4.   

    还是不行哦,你的方法我都加了alert,而且每部分都执行到了,回车之后会弹出alert的内容,但是原来的页面仍然会消失!再加50分,急待高手解决!
      

  5.   

    调用的时候用onkeydown="return doNothing(event);"<script>
    function doNothing(evt){
        if(window.event) evt = window.event;
        if(evt.keyCode == 13){
            return false; 
        }

    </script><form action="xx.asp">
    <input type="text" name="xx" onkeydown="return doNothing(event);">
    </form>
      

  6.   

    问题没有解决,如果我是这样:
    function doNothing(evt){
        if(window.event) evt = window.event;
        doSomeThing();//做一些事情
        if(evt.keyCode == 13){
            return false; 
        }

    function doSomeThing()
    {
    ..........
    }
    则此方法不适用哦,还是会提交
    哪位高手知道原因,不胜感激
      

  7.   

    event.keyCode是ie的属性,firefox不支持
      

  8.   

    firefox中的表单中不能有type="submit",而且button也要指定type="button"的,要不然写多少代码,回车一样是会提交的。