0

在我的聊天应用程序项目中,我试图在用户刚刚按下Space然后Enter. 按下Enter会将输入的文本显示为div. 请查看代码中的注释以清楚地理解。

#txtmsg --> ID of TextBox field

$('#txtmsg').keypress(function (e)
{
    if (e.which == 13) 
    {
        //Disable default function of Enter key
        e.preventDefault(); 
        //Checks whether the user has entered any value or not
        if ($('#txtmsg').val().length > 0)  
        {
          //if(user has not entered only spaces....)?

           //transfers the entered value in the text field to div
            chat.server.send($('#txtmsg').val());
            $('#txtmsg').val('');
        }
    }
});
4

3 回答 3

2

请参阅http://api.jquery.com/jQuery.trim/

if($.trim($('#txtmsg').val()) !== "") { ... }
于 2012-11-28T10:59:40.387 回答
2

检查将是:

var message = $('#txtmsg').val(); //cache the message
if(message.replace(/\s/g, "").length !== 0) { //if the message has something other than spaces
    //send the message
}

注意/\s/匹配各种空白字符;tabs, spaces, 换行符,(其他奇怪的空格字符)。

于 2012-11-28T11:00:03.367 回答
0

尝试:

if ($('#txtmsg').val().length > 0 && /^\s+$/.test($('#txtmsg').val()) === false) {
...
}
于 2012-11-28T11:00:27.050 回答