日期:2014-05-16  浏览次数:20493 次

转载:js 兼容ie和火狐的回车键事件
转载:js 兼容ie和火狐的回车键事件
http://fuanyu.iteye.com/blog/730695

  document.onkeypress=function(e) 
    {
        var code;  
        if  (!e)  
        {  
            var e=window.event;  
        }  
        if(e.keyCode)  
        {    
            code=e.keyCode;  
        }  
        else if(e.which)  
        {  
            code   =   e.which;  
        }
        if(code==13)
        {

          ///这里是调用执行的方法
           return false;
           //阻止了回车键事件冒泡
      }


其它资料
javascirpt关于客户端text中回车提交
http://www.cnblogs.com/conjee/archive/2006/05/22/406085.html

用户需求
多个输入框,没有输入到最后一个时,敲击回车键,跳到下一个文本框,如果是最后一个文本框,敲击回车键则提交表单。

解决方法
前面的跳跃,相信大家都比较了解了,响应onkeydown事件或者onkeyup事件(根据需求选择),调用nextFocus()方法。

function nextFocus()
{
if (event.keyCode ==13)
  {
       event.keyCode  = 9
  }
}


最后一个文本框,当我们敲击回车键时,响应onkeydown事件或者onkeyup事件(根据需求选择),调用submitform()方法。

function submitform()
{
  //用户亦可在此方法中加入适当的客户端数据验证代码。
  if (event.keyCode ==13)
  {
    //tijiao是按钮的名称,按钮类型为submit
    document.form.tijiao.focus();
  }
}


正常情况下,用户点击按钮进行提交,为了防止其重复提交可调用下面的js:
document.actionform.tijiao.disabled=true;

这样用户即无法多次提交了。

1 楼 xgj1988 2011-05-19  
 

  document.onkeypress=function(e)
    {
        var code; 
        if  (!e) 
        { 
            var e=window.event; 
        } 
        if(e.keyCode) 
        {   
            code=e.keyCode; 
        } 
        else if(e.which) 
        { 
            code   =   e.which; 
        }
        if(code==13)
        {

          ///这里是调用执行的方法
           return false;
           //阻止了回车键事件冒泡
      }

IE下面根本就没用