• javascript回车完美实现tab切换功能


    javascript通过回车实现tab切换功能,最经有一个项目是给化工厂做的在使用的过程中需要输入大量的数据,使用的都是小键盘区,在以前都是通过excel录入数据的现在, 

    在网页上需要实现excel 那样的回车换行的功能在网上找了有关这方面的问题但是都不怎么好用,也有人提供了这方面的思路如何来做, 

    经过本人的整理和测试,能够很好的解决这个问题: 

    需要的条件 

    1,Jquery库地址可以到jquery.com官网上去下载最新的 

    2,查看界面表单的结构和相对应的表单位置 

    以下是一些才是表单结构 
    复制代码代码如下:
    <fieldset> 
    <legend>登录表单_www.jbxue.com</legend> 
    <ol> 
    <li> 
    <asp:Label runat="server" AssociatedControlID="UserName">用户名</asp:Label> 
    <asp:TextBox runat="server" ID="UserName" /> 
    <asp:RequiredFieldValidator runat="server" ControlToValidate="UserName" CssClass="field-validation-error" ErrorMessage="用户名字段是必填字段。" /> 
    </li> 
    <li> 
    <asp:Label runat="server" AssociatedControlID="UserName">用户名</asp:Label> 
    <asp:TextBox runat="server" ID="TextBox1" /> 
    <asp:RequiredFieldValidator runat="server" ControlToValidate="UserName" CssClass="field-validation-error" ErrorMessage="用户名字段是必填字段。" /> 
    </li> 
    <li> 
    <asp:Label runat="server" AssociatedControlID="UserName">用户名</asp:Label> 
    <asp:TextBox runat="server" ID="TextBox2" /> 
    <asp:RequiredFieldValidator runat="server" ControlToValidate="UserName" CssClass="field-validation-error" ErrorMessage="用户名字段是必填字段。" /> 
    </li> 
    <li> 
    <asp:Label runat="server" AssociatedControlID="UserName">用户名</asp:Label> 
    <asp:TextBox runat="server" ID="TextBox3" /> 
    <asp:RequiredFieldValidator runat="server" ControlToValidate="UserName" CssClass="field-validation-error" ErrorMessage="用户名字段是必填字段。" /> 
    </li> 
    <li> 
    <asp:Label runat="server" AssociatedControlID="UserName">用户名</asp:Label> 
    <asp:TextBox runat="server" ID="TextBox4" /> 
    <asp:RequiredFieldValidator runat="server" ControlToValidate="UserName" CssClass="field-validation-error" ErrorMessage="用户名字段是必填字段。" /> 
    </li> 
    <li> 
    <asp:Label runat="server" AssociatedControlID="UserName">用户名</asp:Label> 
    <asp:TextBox runat="server" ID="TextBox5" /> 
    <asp:RequiredFieldValidator runat="server" ControlToValidate="UserName" CssClass="field-validation-error" ErrorMessage="用户名字段是必填字段。" /> 
    </li> 
    <li> 
    <asp:Label runat="server" AssociatedControlID="UserName">用户名</asp:Label> 
    <asp:TextBox runat="server" ID="TextBox6" /> 
    <asp:RequiredFieldValidator runat="server" ControlToValidate="UserName" CssClass="field-validation-error" ErrorMessage="用户名字段是必填字段。" /> 
    </li> 
    <li> 
    <asp:Label runat="server" AssociatedControlID="UserName">用户名</asp:Label> 
    <asp:TextBox runat="server" ID="TextBox7" /> 
    <asp:RequiredFieldValidator runat="server" ControlToValidate="UserName" CssClass="field-validation-error" ErrorMessage="用户名字段是必填字段。" /> 
    </li> 
    <li> 
    <asp:Label runat="server" AssociatedControlID="UserName">用户名</asp:Label> 
    <asp:TextBox runat="server" ID="TextBox8" /> 
    <asp:RequiredFieldValidator runat="server" ControlToValidate="UserName" CssClass="field-validation-error" ErrorMessage="用户名字段是必填字段。" /> 
    </li> 
    <li> 
    <asp:Label runat="server" AssociatedControlID="Password">密码</asp:Label> 
    <asp:TextBox runat="server" ID="Password" TextMode="Password" /> 
    <asp:RequiredFieldValidator runat="server" ControlToValidate="Password" CssClass="field-validation-error" ErrorMessage="密码字段是必填字段。" /> 
    </li> 
    <li> 
    <asp:CheckBox runat="server" ID="RememberMe" /> 
    <asp:Label runat="server" AssociatedControlID="RememberMe" CssClass="checkbox">记住我?</asp:Label> 
    </li> 
    </ol> 
    <asp:Button runat="server" CommandName="Login" Text="登录" /> 
    </fieldset> 

    注意需要定位表单的上下文标签关系 
    https://images0.cnblogs.com/i/461877/201403/131104380377939.jpg 
    生成页面以后不管标点元素在什么位置在何处 但是有一点结构式不变的label 元素后面就是我们要切换到表单元素并且 type="text" 

    那么通过Jquery的选择器 层级选择器prev+next 定位 不太了解的可以查看jquery 的帮助文档,只要能定位到要选择的元素即可用什么方式无所谓 

    一下是关键脚本代码: 
    复制代码代码如下:

    <script type="text/javascript"> 
    $(function () { 
    var i = 0;//索引 
    //以上的表单位置和上下文之间的关系就是label 后面总会有一个input 标签type 可能是Password 可能是text 或者是其他的 
    //可以按照个人需求修改,这里只定位到type="text" 的表单如果是又有表单的话改成 $("label+ input") 即可按个人需求 
    $("label+ :text").each(function () { 
    $(this).keydown(function (e) { 
    if (e.keyCode == 13) { 
    i++;//下一个定位的索引 
    try { 
    $("label+ :text")[i].focus(); 
    } catch (e) {//到了最后一个的下一个可能找不到元素会出现异常通过try 捕捉不至于程序出现异常 
    return false;//必须要写以免错误信息被提交 
    }  www.jbxue.com
    return false;//必须要写以免错误信息被提交 

    }); 
    }); 
    }); 
    </script> 
  • 相关阅读:
    谋哥:搞APP,做得累的都不对!
    我在3天内众筹到1.8万的经验分享!
    微价值创始人想要加入“秦王会”啦!
    学习IOS开发UI篇--控制器的管理
    学习IOS开发UI篇--程序启动原理
    学习IOS开问题篇--类中的成员变量如果不实例化是什么情况
    学习IOS开问题篇--IOS程序启动的加载顺序
    学习IOS开问题篇--layoutSubviews什么情况下调用
    学习IOS开发UI篇--UIAlertView/UIActionSheet
    学习IOS开发UI篇--NSNotificationCenter通知中心
  • 原文地址:https://www.cnblogs.com/linuxnotes/p/3599713.html
Copyright © 2020-2023  润新知