如何实现文本框焦点自动跳转及通过回车键提交表单[引用]

来源:互联网 发布:淘宝金酷娃玩具房车 编辑:程序博客网 时间:2024/05/22 09:03
该文章讲的是在ASP.NET登录页面中如何实现文本框焦点自动跳转及通过回车键提交表单。
所需的Javascript代码:
<script language="JavaScript">
NS4 = (document.layers) ? true : false;
function checkEnter(event,element)
{    
    var code = 0;
    if (NS4)
        code = event.which;
    else
        code = event.keyCode;
    if (code==13)
     {
        if(element.name=='tbUserName')//tbUserName-用户名文本框的Name
         {
              document.frmLogin.tbPassword.focus();//frmLogin-表单名称,tbPassword-密码文本杠框的Name
         }
         if(element.name=='tbPassword')
         {
              //document.frmLogin.submit();用这种方式提交,Asp.net页面会闪一下,但实际并未提交
              //用下面的代码才能提交,我是从asp.net生成的页面中查看源文件然后复制出来的
              if (typeof(Page_ClientValidate) != 'function' || Page_ClientValidate()) __doPostBack('lblLogin','');
         }
     }
}
 
</script>

我将这些代码放在了一个LoginScript.js文件中,然后在Login.cs文件中添加如下代码就实现这样的功能:
tbUserName.Attributes.Add("onKeyPress","checkEnter(event,this)");
tbPassword.Attributes.Add("onKeyPress","checkEnter(event,this)");
System.IO.StreamReader sr=new System.IO.StreamReader(MapPath("Script")+"//LoginScript.js");
this.RegisterClientScriptBlock("LoginScript",sr.ReadToEnd());
sr.Close();