2016-03-02 38 views
3

我有這個聊天,我正在努力。到目前爲止,一切正常,但如果textarea爲空,我想按下Enter鍵顯示一個錯誤。誰能告訴我我該怎麼做?我一直在嘗試很多方法,但沒有任何工作。謝謝。如果textarea爲空,如何在輸入按鍵時顯示錯誤?

$("#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/

回答

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()的通話將停止在一個空的文本區域添加新行輸入按鍵。

+0

@Rory McCrossan實際上相同的功能可以通過單個單詞來完成,但它不起作用:-(我錯過了回答..你有沒有想過爲什麼它不起作用? – Prasad

+0

@Rory McCrossan嘿,在textarea我仍然得到一個新的線,但只有當我發送文本後,你可以告訴我如何解決它?謝謝:) –

+0

在這種情況下,你需要''e.preventDefault()'在'if'條件: https://jsfiddle.net/azfwuzad/15/ –

相關問題