JS实现文本框回车提交

我在网上找了不少相关的资料,没有一个能直接拿来给我用的,经过一番琢磨还是弄明白了。我登陆界面有三个文本框:用户名(asp:TextBox id=txtUserName)、密码(asp:TextBox id=txtUserPassword)、验证码(asp:TextBox id=txtSN),两个按钮:登陆(asp:Button id=btnLogin)、重置(asp:Button id=btnReset)。我想实现的是:输入用户名后按Enter,光标移动到密码框,输入密码后按Enter,光标移动到验证码框,输入验证码后按Enter,提交表单。<!--我用的不是Input HTML的元素-->

下面说一下我的解决方案:

1.实现按Enter等同Tab的功能

<script language="javascript" for="document" event="onkeydown">


if(event.keyCode==13 && event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement.type!='reset' && event.srcElement.type!='textarea' && event.srcElement.type!='')

        event.keyCode=9;   //Tab的键值为9 Enter的键值为13


</script>

2.最后一个文本框(验证码 txtSN)输入后 按Enter提交表单

<script language ="javascript">
    function getEnter(){
      if(event.keyCode == 13 && event.srcElement.type!='submit'){
        event.returnValue=false;
        //document.all("btnLogin").click(); 这个也行 测试过
        document.getElementById('btnLogin').click();
       }
    }

</script>

在Page_Load里加上 this.txtSN.Attributes.Add("onKeyDown", "getEnter()");就OK!
以上两段JS代码网上遍地都是,但是任何一个都不能实现我的要求,组合起来就好使了,继续学习了...

推荐几个相关的链接(Input类型的):http://topic.csdn.net/t/20030416/17/1669669.html

http://hi.baidu.com/190420456/blog/item/99f185bea29bd50119d81fb4.html

http://hi.baidu.com/trip008/blog/item/ddf7f816b387dc1a962b4353.html

原文地址:https://www.cnblogs.com/Leo_wl/p/1728596.html