该文章讲的是在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();