Javascript禁用表单提交输入但仍在textareas中使用它

时间:2013-10-14 15:13:44

标签: javascript forms keypress

如何阻止enter键用于在网页上提交表单,但是仍允许使用enter键选择选择列表中的元素或在textarea中创建新段落?或者在textarea中删除使用enter键?

2 个答案:

答案 0 :(得分:3)

这应该有效:

$(document).keypress(function (e) {
  if (e.which == 13 && e.target.nodeName != "TEXTAREA") return false;
});

答案 1 :(得分:1)

以下代码将取消用于提交表单的回车键,但仍允许您在textarea中使用回车键。您可以根据需要进一步编辑它。注意:注释掉的是用于完全否定使用enter键的代码。

<script type="text/javascript">
    function stopRKey(evt) {
      var evt = (evt) ? evt : ((event) ? event : null);
      var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
      <!-- if (evt.keyCode == 13)  {return false;} -->
      if ((evt.keyCode == 13) && ((node.type=="text") || (node.type=="radio") || (node.type=="checkbox")) )  {return false;}
    }

    document.onkeypress = stopRKey;
</script>