[英]ajaxform jQuery plugin reset form after sending request
在我开始之前,我相信这并不是一开始的复制。
这是我的问题:
我有一个聊天室php脚本,我使用ajaxForm jQuery插件来发送新消息而无需重新加载整个页面。
事实是发布时间大约需要1-2秒:例如
封闭:6ms的
发送:1毫秒
等待中:1.15秒
接收1ms
$('#myform').ajaxForm(function() {
//clear form after this
$('#myform').clearForm();
});
接收时间过后,表格将被清除,这意味着清除我发送的每条消息大约需要1.20秒...而且聊天似乎有点滞后。
我试图找出一种方法来清除发送部分之后的表单,而没有回调或其他东西。
如果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();
)
希望这可以帮助。 干杯
$('#mydiv').ajaxForm(function() {
//...
$("#mydiv")[0].reset();
});
我从未使用过ajaxForm
,但是仅在<form>
元素上使用浏览器的reset()
函数就足够了(我假设ajaxForm
返回jQuery实例):
$('#myform').ajaxForm(function() {
this.reset();
});
如果以上has no method reset()
抛出一个has no method reset()
错误,请尝试以下操作:
$('#myform').ajaxForm(function() {
$('#myform')[0].reset();
});
如果您对ajaxForm
有问题。 您可以通过以下方式避免使用ajaxForm
:
$(".ajaxform").submit(function(event){
var $form = $(this);
event.preventDefault();
$form.get(0).reset(); //Call the js reset method before ajax starts
$.ajax({
url: $form.attr("action"),
type: $form.attr("method"),
data: $form.serialize(),
success: function(data){
//your code when response arrived here
}
});
});
希望这可以帮助。 干杯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.