在我开始之前,我相信,这不是一个二字在一开始。
我的问题是:
我有一个聊天室php脚本,我使用ajaxForm jQuery插件来发送新消息,而不需要重新加载整个页面。
事实上,张贴时间约为1-2秒,例如:
阻塞:6ms
发送:1ms
等待:1.15秒
接收1ms
$('#myform').ajaxForm(function() {
//clear form after this
$('#myform').clearForm();
});
表单在接收时间后被清除,这意味着清除我发送的每条消息需要大约1.20秒。看来聊天有点滞后了。
我正在设法找出一种方法,在发送部分之后清除表单,而不需要回调或其他什么。
发布于 2014-01-12 12:12:17
如果ajaxForm
运行良好,您可以:
$('#myform').ajaxForm({
beforeSubmit: function() {
$('#myform').clearForm(); //Call the reset before the ajax call starts
},
success: function(data){
//Your normal callback here
}
});
(如果$('#myform').clearForm()
不工作,使用$('#myform')[0].reset();
)
希望这能有所帮助。干杯
发布于 2014-01-12 12:03:42
$('#mydiv').ajaxForm(function() {
//...
$("#mydiv")[0].reset();
});
发布于 2014-01-12 12:03:07
我从未使用过ajaxForm
,但仅在<form>
元素上使用浏览器的reset()
函数就足够了(我假设ajaxForm
返回一个jQuery实例):
$('#myform').ajaxForm(function() {
this.reset();
});
如果上面抛出一个has no method reset()
错误,请尝试如下:
$('#myform').ajaxForm(function() {
$('#myform')[0].reset();
});
https://stackoverflow.com/questions/21079572
复制