网站开发日志

2008年11月22日星期六

分享家:Addthis中国

jQuery 控制表单里键入回车键

默认情况下,在表单(form)的输入框(input)里按回车将会提交(submit)表单。这会造成一个问题:当用户在填写表单时不小心按了回车键(特别是输入框含有历史记录时,这种情况经常发生),这时不完整的表单会被提交。我们可以通过Javascript来屏蔽回车键,这样当用户键入回车键,表单就不会被提交,而且我们还可以根据需要执行别的任务,例如把光标移到下一个输入框。这样不但屏蔽了回车键误提交表单,而且还方便了用户,一举两得!

jQuery代码如下:

<script type="text/javascript">
$(document).ready(function(){  
  $("input").keypress(function (e) {
     var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
     if (keyCode == 13){    
      var i;
      for (i = 0; i < this.form.elements.length; i++)
        if (this == this.form.elements[i])
          break;
      i = (i + 1) % this.form.elements.length;
      this.form.elements[i].focus();
      return false;
     } 
     else
     return true;
   });  
});
</script>

用法:jQuery的一个优点是不用对HTML代码做改动或者做很小的改动,因此,只需把以上代码加入到HTML文档,就可以正确地处理回车键的响应。

演示:jQuery控制回车键

标签: ,

相关文章:

0 条评论:

发表评论

指向此帖子的链接: