我有一个jQuery聊天脚本
var name = "Guest";
name = name.replace(/(<([^>]+)>)/ig,"");
var chat = new Chat();
$(function() {
chat.getState();
$("#sendie").keydown(function(event) {
var key = event.which;
if (key >= 33) {
var maxLength = $(this).attr("maxlength");
var length = this.value.length;
if (length >= maxLength) {
event.preventDefault();
}
}
});
$('#sendie').keyup(function(e) {
if (e.keyCode == 13) {
var text = $(this).val();
var maxLength = $(this).attr("maxlength");
var length = text.length;
if (length <= maxLength + 1) {
chat.send("testtext", name);
$(this).val("");
} else {
$(this).val(text.substring(0, maxLength));
}
}
});
});
字符串
html结构是
<body onload="setInterval('chat.update()', 1000)">
<div id="page-wrap">
<h2>jQuery/PHP Chat</h2>
<p id="name-area"></p>
<div id="chat-wrap"><div id="chat-area"></div></div>
<form id="send-message-area">
<p>Your message: </p>
<textarea id="sendie" maxlength = '100' ></textarea>
<button id="submit">submit</button>
</form>
</div>
</body>
型
这个发送(或保存到文件)消息时,我打ENTER
键后,我的消息。我已经取代了文本区的数据与testtext
。我想发送数据时,我点击submit
按钮。
我该怎么做?
我试图修改**this**示例。我试图添加一个按钮,而不是默认的enter
键命中。
4条答案
按热度按时间z18hc3ub1#
使用jQuery的ajax()或post()。例如:
字符串
dluptydi2#
只需从
$('#sendie').keyup()
中获取代码,创建一个函数,然后从$('#sendie').keyup()
和$('#send-message-area').submit()
中调用它这样的事情
字符串
ckx4rj1h3#
您可以尝试在提交表单时触发事件:
字符串
...
型
行
return false
是必要的,以防止重新加载您的页面。更新后为
keyup
函数增加了一个新的参数,名为extra
,它将保存“手动”触发事件的keyCode。k97glaaz4#
我通过从主群中删除
chat send
并将其包含在trigger click function
中来解决它,如下所示;字符串
感谢@Kon、@Piotr Salaciak和@Dutchie432的支持...:)