停止输入键提交也停止输入键在多行文本编辑

Stopping enter key submitting also stops enter key in multi line text edit

本文关键字:输入 文本编辑 提交      更新时间:2023-09-26

网络上有很多阻止输入键提交表单的解决方案。最常用的是<body onkeypress = ...

但是这些似乎有一个不希望的副作用,即在多行文本框中停止输入键的工作。有没有人知道一种方法围绕这个,所以回车键仍将工作在多行文本框?

谢谢,

AJ

<script language="Javascript">
    document.onkeydown = function() {
        if (event.keyCode == 13) {
            if (document.activeElement.tagName.toLowerCase () != "textarea") {
                      event.preventDefault();
                      return false;
                }
        }
    }
</script>

像这样?

您可以尝试以下操作(使用jquery):

$(function(){
$('input:not(textarea)').live('keypress', function(e) {
        if (e.which == 13) return false;
        if (e.which == 13) e.preventDefault();
    });
});

只针对输入字段,不针对文本区域。

非JQUERY

 function disableEnterKey(e)
     {
          var key;      
          if(window.event)
               key = window.event.keyCode;
          else
               key = e.which;     
          return (key != 13);
     }

并在所有文本输入上添加onKeyPress

<input type="text" name="textIn" onKeyPress="return disableEnterKey(event)"/>

Ref: http://www.bloggingdeveloper.com/post/Disable-Form-Submit-on-Enter-Key-Press.aspx