我正在研究JS Ever ajax多图像上传器。它真的很棒,但有一件事。我需要在所有文件上传完成后重新加载工作页面。是的,有一个功能可以在上传文件后执行某些操作,例如:成功,完成或完成。但这些回调是按文件进行的。这意味着如果我在其中添加一个重新加载功能。第一个文件上传完成后,将立即重新加载页面。
我试过了。
complete:function(file,xhr){alert("ok")}
它有效!但是自从我上传了 3 个文件以来,它是 3 个好的弹出窗口。上传第三个文件后,我只需要一个"确定"警报。请指教。
$('#uploader').JSAjaxFileUploader({
uploadUrl: 'upload.php',
complete: function (file, xhr) {
$(alert("ok"));
}
});
这是演示。
你能添加一个计数吗?
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;
}
});
如果有可能获得上传的文件数量,您可以在"完整"回调中创建一个函数来增加一个数字。当该数字等于文件数量时,显示警报并刷新页面。
在页面上使用隐藏字段,例如<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
}
}
});