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 相关文章推荐
JavaScript 使用技巧精萃(.net html
Apr 25 Javascript
jquery cookie插件代码类
May 26 Javascript
dojo学习第一天 Tab选项卡 实现
Aug 28 Javascript
javascript重复绑定事件造成的后果说明
Mar 02 Javascript
js判断上传文件的类型和大小示例代码
Oct 18 Javascript
jquery三个关闭弹出层的小示例
Nov 05 Javascript
如何让浏览器支持jquery ajax load 前进、后退功能
Jun 12 Javascript
探讨js字符串数组拼接的性能问题
Oct 11 Javascript
原生Ajax 和jQuery Ajax的区别示例分析
Dec 17 Javascript
JS实现slide文字框缩放伸展效果代码
Nov 05 Javascript
jQuery实现文本框邮箱输入自动补全效果
Nov 17 Javascript
Omi v1.0.2发布正式支持传递javascript表达式
Mar 21 Javascript
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
PHP 5.3.0 安装分析心得
2009/08/07 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
PHP并发多进程处理利器Gearman使用介绍
2016/05/16 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
2016/11/25 PHP
基于jquery的动态创建表格的插件
2011/04/05 Javascript
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
判断一个变量是数组Array类型的方法
2013/09/16 Javascript
原生js实现复制对象、扩展对象 类似jquery中的extend()方法
2014/08/30 Javascript
浅谈Jquery为元素绑定事件
2015/04/27 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
深入剖析JavaScript编程中的对象概念
2015/10/21 Javascript
JavaScript实现点击按钮直接打印
2016/01/06 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
2016/09/08 Javascript
原生js实现无缝轮播图效果
2017/01/11 Javascript
完美解决input[type=number]无法显示非数字字符的问题
2017/02/28 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
2019/02/12 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
js判断一个对象是数组(函数)的方法实例
2019/12/19 Javascript
深入浅析JavaScript中的in关键字和for-in循环
2020/04/20 Javascript
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
python/golang实现循环链表的示例代码
2020/09/14 Python
台湾家适得:Homeget
2019/02/11 全球购物
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
2014年党员公开承诺践诺书
2014/03/25 职场文书
教研处工作方案
2014/05/26 职场文书
农村党员一句话承诺
2014/05/30 职场文书
北京离婚协议书范文2014
2014/09/29 职场文书
县长群众路线对照检查材料思想汇报
2014/10/02 职场文书
通知范文怎么写
2015/04/16 职场文书
关于开学的感想
2015/08/10 职场文书
回门宴新娘答谢词
2015/09/29 职场文书
严以用权学习心得体会
2016/01/12 职场文书
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android
python实现对doc、txt、xls等文档的读写操作
2022/04/02 Python
Python 读取千万级数据自动写入 MySQL 数据库
2022/06/28 Python