这是我的jQuery代码
$('.chat_bar_message_input').keypress(function(e) {
if(e.keyCode == 13) {
var message_body = $('.chat_bar_message_input').val();
$.post("assets/scripts/chat/message_parse.php", {message: message_body}, function(data) {
alert(data);
})
$('.chat_bar_message_input').val("")
}
});
这是HTML
<textarea class ="chat_bar_message_input"></textarea>
代码用于我正在处理的聊天栏应用程序,此代码应该在提交时将textarea的值设置为null。但是,因为它在按下回车按钮时运行代码,它会运行代码,清除textarea的值,然后在textarea中添加换行符。我该如何防止这种情况?
所有帮助都是非常有用的。 感谢。
答案 0 :(得分:3)
使用e.preventDefault()
停止浏览器操作以输入新行。
你可以阅读here
答案 1 :(得分:1)
您是否尝试过使用Javascript的REGEX删除尾随空格?
例如:
message_body = message_body.replace(/\s+$/, '');
\s
会查找空白字符和换行符,而$
搜索结尾只有{{1}}。
参考文献: http://lawrence.ecorp.net/inet/samples/regexp-format.php和 http://www.textfixer.com/tutorials/javascript-line-breaks.php
答案 2 :(得分:1)
如果您return false
也会阻止默认行为。试试这个
$('.chat_bar_message_input').keypress(function(e) {
if(e.keyCode == 13) {
var message_body = $('.chat_bar_message_input').val();
$.post("assets/scripts/chat/message_parse.php", {message: message_body}, function(data) {
alert(data);
})
$('.chat_bar_message_input').val("")
return false;
}
});