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));
}
}
});
});
所以,我怎麼能阻止發送空消息預防?如果這真的很簡單,我很抱歉,也許我在想這個太過分了。
感謝, 斯托伊奇
感謝。這工作。 '$ .trim()'做了什麼? – Hristo 2010-06-18 18:05:46
刪除字符串 – 2010-06-18 18:06:38
的開始和結尾的空格哦,好吧...夠公平的。謝謝:) – Hristo 2010-06-18 18:07:32