zoukankan      html  css  js  c++  java
  • 如何实现文本框焦点自动跳转及通过回车键提交表单

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







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

    在asp.net中,如何回车触发指定按钮的事件?
    <script language="javascript">
            function btnClick()
            {
                if (event.keyCode == 13)
                {        
                  event.keyCode=9;//Tab键的keyCode值
                  event.returnValue = false;
                  document.all["btnSearch"].click();
                }

            }
    <script>

    ...
    ...
    <form>
    ...
    <asp:TextBox ID="txtUserName" onkeydown="btnClick();"   runat="server" Width="142px" AutoPostBack="True"></asp:TextBox>
    <asp:Button ID="btnSearch" runat="server" OnClick="btnSearch_Click" Text="Button" AccessKey="K" /></td>

  • 相关阅读:
    chrome/edge 自签名证书造成浏览器无法访问
    linux 下 取进程占用内存(MEM)最高的前10个进程
    总结记录一下我对YZ数据中台指标相关平台的理解感悟与思考
    史上最全之微信群发拼手气红包测试用例
    vue使用filterBy,orderBy实现搜索筛选功能
    前端处理防抖和节流
    箭头函数()=>{}与function的区别
    html不用任何控件上传文件
    Java必备知识--线程池
    Java必备知识--日志框架
  • 原文地址:https://www.cnblogs.com/VirtualMJ/p/628254.html
Copyright © 2011-2022 走看看