【问题标题】:Textarea enter keypress not working because of form submit enter prevention由于表单提交输入预防,Textarea 输入按键不起作用
【发布时间】:2015-05-01 10:52:53
【问题描述】:

我有一个表单,我在其中使用了以下代码来防止在按“Enter”时提交表单。

<script>
$(document).ready(function() {
  $(window).keydown(function(event){
    if(event.keyCode == 13) {
      event.preventDefault();
      return false;
    }
  });
});

</script>

因此,“Enter”键在任何文本区域输入中都不起作用。由于正文功能,我无法输入新行。我该如何解决?

<textarea name='description' placeholder="Any other information (optional)"</textarea>

【问题讨论】:

标签: javascript jquery html forms


【解决方案1】:

我找到了解决办法。

您可以阻止所有表单元素上的输入键。只需对您的代码添加一些调整即可。当您的注意力集中在 textarea 上时,只需跳过防止输入键。见以下代码:

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

【讨论】:

  • 成功了。 tagName 叫什么?为什么是大写的?
  • TagName 以大写字母返回元素的名称,您的 keydown 事件是从该名称触发的。
【解决方案2】:

要阻止表单提交,请尝试以下操作:

$("form").submit(function(e){
  e.preventDefault();
}

【讨论】:

    猜你喜欢
    • 2021-11-23
    • 2012-05-05
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-14
    • 2011-11-09
    相关资源
    最近更新 更多