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

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

posted @   dudu  阅读(28845)  评论(17编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示