2010-06-18 114 views
3

我已經設置了一個<textarea>和功能,將拿起擊鍵。如果用戶按下Enter,我將它設置在哪裏,文本區域中輸入的文本將被提交到數據庫。防止空提交<textarea>

但是,我想阻止提交空文本,只需按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)); 
      } 

     } 
    }); 
}); 

所以,我怎麼能阻止發送空消息預防?如果這真的很簡單,我很抱歉,也許我在想這個太過分了。

感謝, 斯托伊奇

回答

5
if($.trim($(this).val()) == "") // empty 

trim

+0

感謝。這工作。 '$ .trim()'做了什麼? – Hristo 2010-06-18 18:05:46

+0

刪除字符串 – 2010-06-18 18:06:38

+0

的開始和結尾的空格哦,好吧...夠公平的。謝謝:) – Hristo 2010-06-18 18:07:32