如果textarea为空,如何在输入键上显示错误?

时间:2016-03-02 13:18:49

标签: javascript jquery

我正在尝试这个聊天。到目前为止一切正常,但是如果textarea为空,我想按Enter键时显示错误。有人能告诉我怎么做吗?我一直在尝试很多方法,但没有任何效果。谢谢。

$("#message").keypress(function(e) {
    var test = $("#Uname").val()
    var valmsg = $('#message').val();

    if (e.which == 13 && valmsg.trim()) {
        $("#chat").append("<div class='mesaj'>" + test+ ':' + valmsg + "  </div>");
        $('#message').val('');  
    }
});

这是我的代码https://jsfiddle.net/azfwuzad/2/

1 个答案:

答案 0 :(得分:4)

您可以通过在按下返回键时检查textarea的值是否为空来实现此目的。试试这个:

$("#message").keypress(function(e) {
    var test = $("#Uname").val()
    var valmsg = $('#message').val();

    if (e.which == 13 && valmsg.trim() == "") {
        e.preventDefault();
        alert('Please type a message to send');
    } else if (e.which == 13) {
        $("#chat").append("<div class='mesaj'>" + test + ':' + valmsg + "</div>");
        $('#message').val('');
    }
});

Updated fiddle

preventDefault()的调用将阻止输入键按下在空文本区域中添加新行。