[英]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.