防止<textarea>中的空提交

Hri*_*sto 3 jquery textarea

我已经设置了一个<textarea>可以进行击键的功能.我设置了如果用户按Enter键,文本区域中键入的文本将被提交到数据库.

但是,我想阻止提交空文本,只需按Enter键并提交即可.我还注意到,当Enter时,会创建一个新行,所以我不能只检查文本是否为""或者它的长度是否为0,因为第二次会有一个新行.

使用键盘检测的jQuery是:

$(document).ready(function(){
    $('.active-buddy-tab div#chat-window form#chat-message textarea#message').live('keydown', function(event) {

        var key = event.which;

        // all keys including return
        if (key >= 33) {

            var maxLength = $(this).attr("maxlength");
            var length = this.value.length;

            if (length >= maxLength) {
                event.preventDefault();
            }
        }
    });

    $('.active-buddy-tab div#chat-window form#chat-message textarea#message').live('keyup', function(e) {

        if (e.keyCode == 13) {

            var text = $(this).val();
            var maxLength = $(this).attr("maxlength");
            var length = text.length;

            var to = $('.active-buddy-tab div h3 p#to').text();

            if (length <= maxLength + 1) {
                chat.send(text, from, to);
                chat.update(from, to);
                $(this).val("");
            } else {
                $(this).val(text.substring(0, maxLength));
            }

        }
    });
});
Run Code Online (Sandbox Code Playgroud)

那么如何防止发送空消息呢?如果这很简单,我很抱歉,也许我在考虑这个问题.

谢谢,Hristo

Dan*_*den 6

if( $.trim( $(this).val() ) == "" ) // empty
Run Code Online (Sandbox Code Playgroud)

修剪