一旦将设置值发布为null

时间:2012-01-19 18:20:58

标签: javascript jquery ajax

这是我的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中添加换行符。我该如何防止这种情况?

所有帮助都是非常有用的。 感谢。

3 个答案:

答案 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.phphttp://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;
    }
});