我正在开发一个AJAX聊天室。我现在的问题是,当我按下回车键时,偶尔会在textarea中留下一个空行分隔符。到目前为止,我试图用.val(''),.text(''),.html('')和.empty()去除它,但是它们都没有工作。 preventDefault()命令似乎被触发,因为我不会经常得到这个错误,但是当它发生时,它会一直被解雇。到目前为止,我还没有弄清楚是什么导致了这种变化。有谁知道我做错了什么?jQuery:.val('')在textarea中留下换行符
这是代码。我赶上的关键事件有,
$("textarea[name='input']").keydown(function(event) {
key = event.which;
if(key == 13) {
event.preventDefault();
submitInput();
}
});
然后发送处理与AJAX的输入与
function submitInput() {
activeRoom = $(".tabs .active span").text();
message = $("textarea[name='input']").val();
message = message.trim();
if(message != "") {
if(message.charAt(0) == "/") {
// Catch slash commands
}
else {
$.ajax({
url: "ajax/message_send.php",
data: { nickname: nickname, room_name: activeRoom, message : message },
async: false
})
.done(function(data) {
getMessages(activeRoom);
clearInput();
});
}
}
}
未正常工作目前正在寻找这样的功能。这很简单,部分原因是我不知道要添加什么才能使其工作。我有我的控制台日志显示功能被激发和完成的顺序,这是最后或getMessages()后直接。它应该工作...不是吗?
function clearInput() {
// Empty input
$("textarea[name='input']").val('');
// Put input in focus
$("textarea[name='input']").focus();
}
我跑那个: \t textarea = $(“textarea [name ='input']”); \t textarea.val(''); (textarea.val()。replace(/ ^(\ n)/,'')); 没有效果。 – Ami