我正在开发JS曾经 ajax多个图像上传程序。它真的很好,但只有一件事。我需要工作页面重新加载后,所有文件完成上传。是的,在上传了一个文件之后,有一个函数可以做一些事情,比如:success、complete或done。但这些回调是每个文件。意思是如果我给它添加一个重新加载函数。第一个文件上传完成后,页面将立即重新加载。
我试过了。
complete:function(file,xhr){alert("ok")}它起作用了!但自从我上传了3个文件后,就有3个好的弹出窗口了。我只需要一个“确定”警报后,第三个文件是上传。请建议一下。
$('#uploader').JSAjaxFileUploader({
uploadUrl: 'upload.php',
complete: function (file, xhr) {
$(alert("ok"));
}
});这是演示。
发布于 2014-12-28 15:15:11
你能加个数吗?
var count = 0;
var length;
$('#uploader').JSAjaxFileUploader({
uploadUrl: 'upload.php',
complete: function (file, xhr) {
if ( count === 0 ) {
length = $('.JSpreveiw li').length;
}
if ( count === length - 1 ) {
alert('thanks for uploading!');
window.location.reload();
}
count += 1;
}
});发布于 2014-12-28 15:12:39
如果有可能获得上传的文件数量,您可以在您的“完整”回调中创建一个函数,它会增加一个数字。当该数字等于您的文件数量时,显示警报并刷新页面。
发布于 2014-12-28 15:19:41
使用页面上的一个隐藏字段,比如<input type="hidden" id="hidUploadCount" value="0" />,现在使用函数预告来跟踪当前的上传。如果正在上传的计数为0,则使用完整函数重新加载页面。
$('#uploader').JSAjaxFileUploader({
uploadUrl: 'upload.php',
beforesend:function(){
document.getElementById('hidUploadCount').value+=document.getElementById('hidUploadCount').value;
},
complete: function (file, xhr) {
document.getElementById('hidUploadCount').value-=document.getElementById('hidUploadCount').value;
if(document.getElementById('hidUploadCount').value)==0)
{
alert("ok");//here u can reload the page
}
}
});https://stackoverflow.com/questions/27677617
复制相似问题