我制作了一个上传文件的函数,其中包含2个其他字段,用于上传文件的名称和描述。有进度条。所有工作正常,但是当我想在成功后清除输入字段时,整个页面将被重新加载。这是我的jQuery代码:
$('#frmUploadFile').on('submit', function(e) {
e.preventDefault();
if ($('#fileGivenName').val() == '') {
alert('Please set a file name.');
return;
}
$.ajax({
url: root_url + "document/reception",
type: "POST",
dataType: 'json',
data: new FormData(this),
xhr: function() {
var myXhr = $.ajaxSettings.xhr();
if (myXhr.upload) {
myXhr.upload.addEventListener('progress', progress, false);
}
return myXhr;
},
contentType: false,
cache: false,
processData: false,
beforeSend: function() {
//$("#preview").fadeOut();
},
success: function(data) {
if (data.success) {
$('#fileMessageUpload').html(messageUploadSucceed).fadeIn().delay(2000).fadeOut('slow');
$('#fileGivenName').val('');
$('#fileDesc').val('');
$('#fileName').val('');
} else if (data.error) {
messageUploadFailed += ':: ' + data.message;
$('#fileMessageUpload').html(messageUploadFailed).fadeIn().delay(2000).fadeOut('slow');
}
},
error: function(data) {
messageUploadFailed += ':: ' + data.message;
$('#fileMessageUpload').html(messageUploadFailed).fadeIn().delay(2000).fadeOut('slow');
}
});
})
如果我删除这些线条,它可以工作,但我的字段不会被清除。
$('#fileGivenName').val('');
$('#fileDesc').val('');
$('#fileName').val('');
EDIT ----------------------- 似乎清除缓存并使用CRTL或SHIFT重新加载页面并停止重新加载页面但是我的字段没有重置,所以要解决问题我删除了&#39 ;;'在行尾和它的作用我不知道为什么:
if(data.success){
$('#fileMessageUpload').html(messageUploadSucceed).fadeIn().delay(2000).fadeOut('slow')
console.log('on est dans le success')
$('#fileGivenName').val('')
$('#fileDesc').val('')
$('#fileName').val('')
}