当按下Enter键时,Textarea不会停止创建新行

时间:2014-11-17 14:52:44

标签: javascript jquery html

我不明白为什么我的textarea不会停止创建新行,并且在按下depsite时不会调用函数jquery是这样做的。输入它工作正常。是的,我仍然想要那里的提交按钮。

的JavaScript

function da(){

$('#com').unbind('keypress').bind('keypress', function(e){
   var code = e.keyCode ? e.keyCode : e.which;
   if(code == 13) // Enter key is pressed
   {  e.preventDefault();
      chat();
   }
});
}

HTML

<form id='com' method='post'>


Mesaj:<br>
<textarea name='mesaj' rows='7' col='60'></textarea><br/><br/>
<input type='submit' value='Trimite mesaj!' onclick='chat()'>

</form>"

3 个答案:

答案 0 :(得分:4)

要停止换行(以及回车),您需要使用1013上捕获keypress以及keycode

请参阅此代码段:

&#13;
&#13;
$("textarea").on("keypress", function(e) {
    if ((e.keyCode == 10 || e.keyCode == 13)) {
        e.preventDefault();
        chat();
    }
});

function chat() {
    alert("hello chat");
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea name='mesaj' rows='7' col='60'></textarea><br/><br/>
<input type='submit' value='Trimite mesaj!' onclick='chat()' />
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以检查我的代码和示例以供参考

&#13;
&#13;
$(".Post_Description_Text").keydown(function(e){
		if (e.keyCode == 13)
		{
		e.preventDefault();
      	}
	});
&#13;
.Post_Description_Text{ 
    width:400px;
    height:100px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<textarea name="comment_text" id="comment_text"  class="Post_Description_Text" rows="5"></textarea>
	<button id="check_btn">click here to check</button>
&#13;
&#13;
&#13;

答案 2 :(得分:-2)

试试这个:

HTML(将id添加到您的textarea):

<form id='com' method='post'>
    Mesaj:<br>
    <textarea name='mesaj' id="mesaj" rows='7' col='60'></textarea><br/><br/>
    <input type='submit' value='Trimite mesaj!' onclick='chat()'/>
</form>

JS(按下回车键时避免换行):

$('#mesaj').keydown(function(e) {
    if(e.which == 13) {
        e.preventDefault();
        chat();
    }
});

JSFIDDLE:http://jsfiddle.net/ghorg12110/p3ufLjoe/