JQuery实现回车代替Tab键
总结:
获取表单中的所有输入框inputs,通过inputs.index(this)获取当前焦点输入框所处的位置idx,不是最后一个输入框时为下一个输入框设置焦点。
原文链接:http://uule.iteye.com/blog/798355
对于一个网页上的表单,放置了一个提交按钮以后,用户如果按了键盘的回车键,默认情况下,就会提交这个表单了。这样对于用户输入各个表单项目,用户体验很不好,输入完一个项目,或者用鼠标选择下一个项目,或者用键盘的Tab键选中下一个项目。
二、问题要求:
1:如果当前处于焦点(也就是用户正在输入的那个文本框)不是最后一个输入框,那么按回车键时,将焦点转移到下一个输入框;
2:如果当前处于焦点(也就是用户正在输入的那个文本框)是最后一个输入框,那么按回车键时,将请用户确认后提交表单;
1:如果当前处于焦点(也就是用户正在输入的那个文本框)不是最后一个输入框,那么按回车键时,将焦点转移到下一个输入框;
2:如果当前处于焦点(也就是用户正在输入的那个文本框)是最后一个输入框,那么按回车键时,将请用户确认后提交表单;
三、基本思路:
1:判断按键是否是回车建, 这个比较好办,用jQeury中的事件,就可以获取到当前按的键的值了,回车键的值是13,比较一下即可。
2:判断当前处于焦点的输入框是不是最后一个输入框。
1:判断按键是否是回车建, 这个比较好办,用jQeury中的事件,就可以获取到当前按的键的值了,回车键的值是13,比较一下即可。
2:判断当前处于焦点的输入框是不是最后一个输入框。
1 $(function() { 2 $("form[name='articleForm'] input:text").keypress(function(e) { 3 if (e.which == 13) // 判断所按是否回车键 4 { 5 var inputs = $("form[name='articleForm']").find(":text"); // 获取表单中的所有输入框 6 var idx = inputs.index(this); // 获取当前焦点输入框所处的位置 7 if (idx == inputs.length - 1) // 判断是否是最后一个输入框 8 { 9 if (confirm("最后一个输入框已经输入,是否提交?")) // 用户确认 10 $("form[name='articleForm']").submit(); // 提交表单 11 } else { 12 inputs[idx + 1].focus(); // 设置焦点 13 inputs[idx + 1].select(); // 选中文字 14 } 15 return false;// 取消默认的提交行为 16 } 17 }); 18 });
浙公网安备 33010602011771号