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


Posted in Javascript onMarch 13, 2014

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

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

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

需要的条件

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

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

以下是一些才是表单结构

<fieldset> 
<legend>登录表单</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>

注意需要定位表单的上下文标签关系
http://images.cnitblog.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;//必须要写以免错误信息被提交 
} 
return false;//必须要写以免错误信息被提交 
} 
}); 
}); 
}); 
</script>

可以试试!!!希望对你们有所帮助
Javascript 相关文章推荐
js 实现无干扰阴影效果 简单好用(附文件下载)
Dec 27 Javascript
js下通过getList函数实现分页效果的代码
Sep 17 Javascript
JQuery开发的数独游戏代码
Oct 29 Javascript
原生javascript实现简单的datagrid数据表格
Jan 02 Javascript
jquery实现鼠标拖拽滑动效果来选择数字的方法
May 04 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
Jul 06 Javascript
angularjs创建弹出框实现拖动效果
Aug 25 Javascript
js判断上传文件后缀名是否合法
Jan 28 Javascript
JavaScript观察者模式(publish/subscribe)原理与实现方法
Mar 30 Javascript
基于vue2实现左滑删除功能
Nov 28 Javascript
JS面向对象编程——ES6 中class的继承用法详解
Mar 03 Javascript
Vue通过懒加载提升页面响应速度
May 10 Vue.js
javasciprt下jquery函数$.post执行无响应的解决方法
Mar 13 #Javascript
JQuery中extend使用介绍
Mar 13 #Javascript
js中用window.open()打开多个窗口的name问题
Mar 13 #Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
Mar 13 #Javascript
利用try-catch判断变量是已声明未声明还是未赋值
Mar 12 #Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
Mar 12 #Javascript
jq实现酷炫的鼠标经过图片翻滚效果
Mar 12 #Javascript
You might like
一个可以删除字符串中HTML标记的PHP函数
2006/10/09 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
2014/05/10 PHP
Dom 是什么的详细说明
2010/10/25 Javascript
精通Javascript系列之数据类型 字符串
2011/06/08 Javascript
JS获取URL中参数值(QueryString)的4种方法分享
2014/04/12 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
简介JavaScript中的sub()方法的使用
2015/06/08 Javascript
JS+HTML5实现的前端购物车功能插件实例【附demo源码下载】
2016/10/17 Javascript
jQuery:unbind方法的使用详解
2017/08/14 jQuery
原生js实现仿window10系统日历效果的实例
2017/10/31 Javascript
iview通过Dropdown(下拉菜单)实现的右键菜单
2018/10/26 Javascript
原生js实现html手机端城市列表索引选择城市
2020/06/24 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
2020/09/10 Javascript
python开发之IDEL(Python GUI)的使用方法图文详解
2015/11/12 Python
Python对象转JSON字符串的方法
2016/04/27 Python
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
2016/08/30 Python
python去除空格和换行符的实现方法(推荐)
2017/01/04 Python
Python简单实现查找一个字符串中最长不重复子串的方法
2018/03/26 Python
python3实现SMTP发送邮件详细教程
2018/06/19 Python
Python3中关于cookie的创建与保存
2018/10/21 Python
Python2和Python3.6环境解决共存问题
2018/11/09 Python
Python当中的array数组对象实例详解
2019/06/12 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
Python的互斥锁与信号量详解
2019/09/12 Python
手把手教你安装Windows版本的Tensorflow
2020/03/26 Python
python 使用事件对象asyncio.Event来同步协程的操作
2020/05/04 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
2020/10/26 Python
为您的家、后院、车库等在线购物:Spreetail
2019/06/17 全球购物
.net面试题
2016/09/17 面试题
如何填写个人简历自我评价
2013/12/10 职场文书
《毛主席在花山》教学反思
2014/04/20 职场文书
作风年建设汇报材料
2014/08/14 职场文书
社区党员群众路线教育实践活动心得体会
2014/11/03 职场文书
二手手机买卖合同范本(2019年版)
2019/10/28 职场文书
在pyCharm中下载第三方库的方法
2021/04/18 Python
mysql外连接与内连接查询的不同之处
2021/06/03 MySQL