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


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

  • 相关阅读:
    protobuf 一个c++示例
    protobuf 之 MessageLite 接口摘录
    export setenv
    Centos java 安装
    C++中防止STL中迭代器失效——map/set等关联容器——vector/list/deque等序列容器—如何防止迭代器失效—即erase()的使用
    centos 安装tkdiff
    Redis 入门指南
    VB.NET+三层 机房收费系统之组合查询
    Android studio 插件之 GsonFormat (自己主动生成javabean)
    ubuntu14.04恢复系统默认中文字体
  • 原文地址:https://www.cnblogs.com/asia/p/1446911.html
Copyright © 2020-2023  润新知