jquery - 防止 "Enter"提交表单,但允许在 textarea 字段上提交 (jQuery)

标签 jquery html textarea submit keystroke

<分区>

$(window).keydown(function(event){
    if(event.keyCode == 13) {
      event.preventDefault();
      return false;
    }
  });

上面是我得到的代码,它有效地杀死了整个系统中作为表单提交者的“enter”键,这正是我想要的。但是,回车键在 textarea 标签上也被禁用 - 用户应该能够按回车键以转到下一行。那么有没有办法修改上面的代码来检测输入是否来自 textarea 标签,它不会运行 event.preventDefault(); 行?

我在整个站点中有如此多的表单 - 必须单独配置它们将是一场噩梦,而且可能没有意义 - 必须有一种通用的方式。上面的代码在站点的每个页面上运行,以防止通过点击“输入”意外提交。

最佳答案

你可以试试这个

$(document).ready(function(){
    $(window).keydown(function(event){
        if(event.keyCode == 13 && event.target.nodeName!='TEXTAREA')
        {
          event.preventDefault();
          return false;
        }
    });
});

fiddle 是 here .

关于jquery - 防止 "Enter"提交表单,但允许在 textarea 字段上提交 (jQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9671688/

相关文章:

jquery - 隐藏所有下一个 tr td 直到下一个 tr th

javascript - 我如何通过 jquery 更改背景颜色?

javascript - 仅在启用 Javascript 时显示表单

javascript - jQuery 日期选择器未显示在 html 中动态生成的输入字段中

css - 如何使内容区域的颜色与包装器的颜色不同?

html - 如何为 html &lt;textarea&gt; 添加默认值?

javascript - .each() 循环中的值

javascript - ng-model 绑定(bind)不适用于 div

jQuery.ScrollTo/jQuery.SerialScroll 水平滚动

java - TextArea Swing与JavaFX选择范围区别