回车 触发 提交事件

//gridview 文本框 回车 触发 Button 事件 
< script type = "text/javascript" language = "javascript" > 
 function clickButton() 

    if ( event.keyCode == 13 ) 
    { 
        document.all ( 'ibtnUpdate' ).click(); 
        return false
    } 

< / script > 
< asp: TextBox ID = "TextBox3" onkeypress = "return(clickButton());" runat = "server" >
 
 
 
 
 
 
 
< script type = "text/javascript"  language = "javascript" > 
 
 function KeyDown()    //屏蔽回车事件 

    if ( event.keyCode == 13 ) 
    { 
        return false
    } 

 
function EnterTextBox()     //最后文本框 回车 触发提交 

    if ( event.keyCode == 13 && document.all["txtCode"].value != "" ) 
    { 
        document.all['btnUp'].focus(); 
        document.all['btnUp'].click(); 
        return false
    } 

 
< / script > 
 
< form id = "form1" runat = "server" onkeypress = "return KeyDown()"  >   //屏蔽回车事件 
  
 this.txtCode.Attributes.Add ( "onkeypress""EnterTextBox()" ); //最后文本框 回车 触发提交 
 
/* 

1、如果表单里有一个type=”submit”的按钮,回车键生效。 
2、如果表单里只有一个type=”text”的input,不管按钮是什么type,回车键生效。 
3、如果按钮不是用input,而是用button,并且没有加type,IE下默认为type=button,FX默认为type=submit。 
4、其他表单元素如textarea、select不影响,radio checkbox不影响触发规则,但本身在FX下会响应回车键,在IE下不响应。 
5、type=”image”的input,效果等同于type=”submit”,不知道为什么会设计这样一种type,不推荐使用,应该用CSS添加背景图合适些。 
实际应用的时候,要让表单响应回车键很容易,保证表单里有个type=”submit”的按钮就行。而当只有一个文本框又不希望响应回车键怎么办呢?我的方法有点别扭,就是再写一个无意义的文本框,隐藏起来。根据第3条规则,我们在用button的时候,尽量显式声明type以使浏览器表现一致。 
 

 */ 

 

//一定要加 return
// 验证通过 才执行 后台事件 
btnLogin.Attributes.Add("onclick", "return checkLoginForm();");

posted @ 2009-09-27 16:55  曾祥展  阅读(1621)  评论(2编辑  收藏  举报