禁用回车提交表单

时间:2016-12-16 14:31:06

标签: javascript jquery

我有一个包含多个TextBox,Textarea和Buttons的表单。 通过在任何文本框中按ENTER键提交表单。所以我想禁用仅在文本框中按下输入并在文本区域和按钮中启用。 我找到了一个解决方案,但他们使用的是更高级的jquery版本,这些版本与我的jquery版本不兼容。 下面是我编写的代码,但它只允许输入测试区而不是按钮。 我只能访问jquery 1.3.1或java脚本。 请帮我修复此代码。

$(document).keydown(function(e) {
    var element = e.target.nodeName.toLowerCase();
    var element1 = e.target;
    alert(element1);
    if (element != 'textarea') {
        if (e.keyCode === 13) {
            return false;
        }
    }
});

这里我不想完全禁用按ENTER键。我想只在文本框中禁用它。

2 个答案:

答案 0 :(得分:6)

$(function () {
  $('input[type=text]').keypress(function(event) {
    if (event.keyCode == 13) {
      event.preventDefault();
    }
  });
});

Js Fiddle:https://jsfiddle.net/bikrampahi/f0gxev76/

答案 1 :(得分:0)

将以下属性添加到表单元素,但前提是表单上没有textareas。

onkeypress="return event.keyCode != 13;"

小提琴:https://jsfiddle.net/uffbost5/1/