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 相关文章推荐
jquery实现智能感知连接外网搜索
May 21 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
Sep 07 Javascript
如何防止JavaScript自动插入分号
Nov 05 Javascript
在JavaScript中使用JSON数据
Feb 15 Javascript
微信小程序(应用号)开发新闻客户端实例
Oct 24 Javascript
详解Node.js:events事件模块
Nov 24 Javascript
vue使用axios跨域请求数据问题详解
Oct 18 Javascript
vue-router3.0版本中 router.push 不能刷新页面的问题
May 10 Javascript
vue-cli项目中使用echarts图表实例
Oct 22 Javascript
js实现指定时间倒计时效果
Aug 26 Javascript
详解Vue 换肤方案验证
Aug 28 Javascript
JS数组扁平化、去重、排序操作实例详解
Feb 24 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
Thinkphp中的volist标签用法简介
2014/06/18 PHP
JavaScript实现找出数组中最长的连续数字序列
2014/09/03 Javascript
JavaScript实现数组随机排序的方法
2015/06/26 Javascript
浅析jQuery Ajax请求参数和返回数据的处理
2016/02/24 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
Vue 单文件中的数据传递示例
2017/03/21 Javascript
JavaScript箭头函数_动力节点Java学院整理
2017/06/28 Javascript
Angular4表单验证代码详解
2017/09/03 Javascript
JS实现按钮颜色切换效果
2020/09/05 Javascript
基于$.ajax()方法从服务器获取json数据的几种方式总结
2018/01/31 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
JS中判断字符串存在和非空的方法
2018/09/12 Javascript
js实现弹窗效果
2020/08/09 Javascript
详解JavaScript中new操作符的解析和实现
2020/09/04 Javascript
vue项目实现减少app.js和vender.js的体积操作
2020/11/12 Javascript
vue的$http的get请求要加上params操作
2020/11/12 Javascript
[01:31:22]Ti4 循环赛第四日附加赛LGD vs Mouz
2014/07/13 DOTA
Python中字典的setdefault()方法教程
2017/02/07 Python
ubuntu中配置pyqt4环境教程
2017/12/27 Python
pyttsx3实现中文文字转语音的方法
2018/12/24 Python
python 为什么说eval要慎用
2019/03/26 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
Pycharm打开已有项目配置python环境的方法
2020/07/03 Python
python的launcher用法知识点总结
2020/08/07 Python
python反编译教程之2048小游戏实例
2021/03/03 Python
利用CSS3的border-radius绘制太极及爱心图案示例
2016/05/17 HTML / CSS
html5教程制作简单画板代码分享
2013/12/04 HTML / CSS
澳大利亚制造的羊皮靴:Original UGG Boots
2017/11/13 全球购物
超市业务员岗位职责
2013/12/05 职场文书
经济管理专业求职信
2014/06/09 职场文书
机械设计专业大学生职业生涯规划书范文
2014/09/13 职场文书
警示教育观后感
2015/06/17 职场文书
小王子读书笔记
2015/06/29 职场文书
初中团委工作总结
2015/08/13 职场文书
Nginx优化服务之网页压缩的实现方法
2021/03/31 Servers
浅谈如何提高PHP代码质量之端到端集成测试
2021/05/28 PHP