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初学者的编写开发的七个细节
Jan 11 Javascript
jQuery动态添加的元素绑定事件处理函数代码
Aug 02 Javascript
JS函数重载的解决方案
May 13 Javascript
SpringMVC返回json数据的三种方式
Dec 10 Javascript
JavaScript判断变量是否为数组的方法(Array)
Feb 24 Javascript
JS原生带小白点轮播图实例讲解
Jul 22 Javascript
详解vue axios中文文档
Sep 12 Javascript
利用javascript如何随机生成一定位数的密码
Sep 22 Javascript
基于滚动条位置判断的简单实例
Dec 14 Javascript
了解javascript中的Dom操作
May 27 Javascript
微信小程序利用button控制条件标签的变量问题
Mar 15 Javascript
微信小程序用户登录和登录态维护的实现
Dec 10 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
vs中通过剪切板循环来循环粘贴不同内容
2011/04/30 PHP
解析php中const与define的应用区别
2013/06/18 PHP
win7计划任务定时执行PHP脚本设置图解
2014/05/09 PHP
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
Zend Framework教程之Bootstrap类用法概述
2016/03/14 PHP
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
jQuery方法简洁实现隔行换色及toggleClass的使用
2013/03/15 Javascript
9行javascript代码获取QQ群成员具体实现
2013/10/16 Javascript
node.js操作mysql(增删改查)
2015/07/24 Javascript
jquery validate表单验证插件
2016/09/06 Javascript
EasyUI学习之DataGird分页显示数据
2016/12/29 Javascript
JSON与JS对象的区别与对比
2017/03/01 Javascript
jquery实现企业定位式导航效果
2018/01/01 jQuery
vue中设置、获取、删除cookie的方法
2018/09/21 Javascript
JavaScript剩余操作符Rest Operator详解
2019/07/20 Javascript
javascript设计模式之迭代器模式
2020/01/30 Javascript
浅谈vue中resetFields()使用注意事项
2020/08/12 Javascript
微信小程序实现购物车小功能
2020/12/30 Javascript
Python 通配符删除文件的实例
2018/04/24 Python
Python检测数据类型的方法总结
2019/05/20 Python
Python二次规划和线性规划使用实例
2019/12/09 Python
Python实现计算长方形面积(带参数函数demo)
2020/01/18 Python
关于tf.TFRecordReader()函数的用法解析
2020/02/17 Python
解决keras backend 越跑越慢问题
2020/06/18 Python
工商技校毕业生自荐信
2013/11/15 职场文书
基层党支部公开承诺书
2014/05/29 职场文书
机械电子工程专业求职信
2014/06/22 职场文书
企业爱岗敬业演讲稿
2014/09/04 职场文书
大三学年自我鉴定范文(3篇)
2014/09/28 职场文书
2014年有孩子的离婚协议书范本
2014/10/08 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书
在职人员跳槽求职信
2015/03/20 职场文书
2015年学校工作总结范文
2015/04/20 职场文书
步步惊心观后感
2015/06/12 职场文书
导游词之江苏同里古镇
2019/11/18 职场文书
pytorch中[..., 0]的用法说明
2021/05/20 Python