当前位置: 代码迷 >> Web前端 >> JQuery实现回车代替Tab键(按回车跳到上一栏)
  详细解决方案

JQuery实现回车代替Tab键(按回车跳到上一栏)

热度:24   发布时间:2012-09-09 09:27:54.0
JQuery实现回车代替Tab键(按回车跳到下一栏)

?

一个提交按钮以后,用户如果按了键盘的回车键,默认情况下,就会提交这个表单了。这样对于用户输入各个表单项目,用户体验很不好,输入完一个项目,或者用鼠标选择下一个项目,或者用键盘的Tab键选中下一个项目。

二、问题要求:

1:如果当前处于焦点(也就是用户正在输入的那个文本框)不是最后一个输入框,那么按回车键时,将焦点转移到下一个输入框;

2:如果当前处于焦点(也就是用户正在输入的那个文本框)是最后一个输入框,那么按回车键时,将请用户确认后提交表单;

三、基本思路:

1:判断按键是否是回车建, 这个比较好办,用jQeury中的事件,就可以获取到当前按的键的值了,回车键的值是13,比较一下即可。

2:判断当前处于焦点的输入框是不是最后一个输入框。

  1. $(function()?{ ?
  2. ????$("form[name='contractForm']?input:text").keypress(function(e)?{ ?
  3. ????if?(e.which?==?13)?{//?判断所按是否回车键 ?
  4. ????????var?inputs?=?$("form[name='contractForm']").find(":text");?//?获取表单中的所有输入框 ?
  5. ????????var?idx?=?inputs.index(this);?//?获取当前焦点输入框所处的位置 ?
  6. ????????if?(idx?==?inputs.length?-?1)?{//?判断是否是最后一个输入框 ?
  7. ????????????if?(confirm("最后一个输入框已经输入,是否提交?"))?//?用户确认 ?
  8. ????????????$("form[name='contractForm']").submit();?//?提交表单 ?
  9. ????????}?else?{ ?
  10. ????????????inputs[idx?+?1].focus();?//?设置焦点 ?
  11. ????????????inputs[idx?+?1].select();?//?选中文字 ?
  12. ????????} ?
  13. ????????return?false;//?取消默认的提交行为 ?
  14. ????} ?
  15. ????}); ?
  16. });?

转自:http://www.oklrc.com/related/javascript/20100912/09124912010.html
  相关解决方案