之前做过这个,一直一个问题没解决就是再全部上传完了之后进行提示然后跳转。
解决的办法就是在,每次选择的时候,触发事件,统计一共上传多少图片付给一个隐藏域的value值。
然后再在onQueueComplete队列上传成功之后判断是否和统计上传总数量相等,相等就提示上传成功,不相等就再赋给一个隐藏域统计。直到相等。
//解释用法 'onQueueComplete' : function(queueData) { var totalnum = $("#hid_num").val(); var total_suc = parseInt($("#hid_success").val()) + parseInt(queueData.uploadsSuccessful); //判断当前上传于隐藏域里的相加,是否和总的上传相等 if(total_suc ==totalnum){ alert('上传成功'); window.location.href = "{:U('Upload/myupload')}"; }else{ var success = $("#hid_success").val(); //取得隐藏域里的值 suc = parseInt(success)+queueData.uploadsSuccessful;//加上本次调用上传成功的 $("#hid_success").val(suc); //重新赋值隐藏域 } }
//整个
$("#file_upload_jiuping").uploadify({ 'height' : 30, 'auto':false, 'swf' : '__PUBLIC__/uploadify/uploadify.swf', 'uploader' : "{:U('Upload/doupload')}", 'width' : 120, 'method' : 'GET', 'fileObjName' : 'Fileping', 'fileSizeLimit' : '2MB', 'buttonImage' : '__PUBLIC__/image/chosefile_bg.jpg', "fileTypeDesc" : "*.jpg;*.jpeg;*.gif;*.png;*.bmp", "fileTypeExts" : "*.jpg;*.jpeg;*.gif;*.png;*.bmp", 'formData' : {'type' : 1}, 'onSelect' : function(file) { $("[name='hid_upload_ping']").val(file.name); var num = $("#hid_num").val(); nu = parseInt(num)+1; $("#hid_num").val(nu); }, 'onQueueComplete' : function(queueData) { var totalnum = $("#hid_num").val(); var total_suc = parseInt($("#hid_success").val()) + parseInt(queueData.uploadsSuccessful); if(total_suc ==totalnum){ alert('上传成功'); window.location.href = "{:U('Upload/myupload')}"; }else{ var success = $("#hid_success").val(); suc = parseInt(success)+queueData.uploadsSuccessful; $("#hid_success").val(suc); } } });