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