-1

对这个问题使用 jQuery 包装技术。

使用自动上传功能,我需要找出要上传的文件总数,以便可以使用此计数来确定它们何时全部完成(文件总数 == 上传的文件)。

这里有2个请求:

  1. 随着这种情况的autoUpload发生,我将如何确定要上传多少文件,以及它们何时真正开始?此信息将用于确定总计数,并在启动时禁用按钮,因此用户必须在继续之前完成上传。除非有更好的方法?

  2. 我如何知道“n”个文件何时全部完成以便可以再次启用我的按钮?我已经.on('complete')连线了,所以我认为这部分我很高兴。当总文件=上传的文件时,我认为我可以再次启用按钮等。

谢谢!

4

1 回答 1

0

我正在使用带有 jquery 包装器的 FineUploader v3.8 UI。是在文件上传时对我有用的解决方案(禁用按钮)。

您在下面看到的是 2 个链式处理程序,即“提交”和“完成”处理程序。“提交”处理程序使用(先前声明的)fileToUpload 变量计算上传。此处列出的 jQuery 然后根据其类型(按钮、提交、重置)禁用按钮。

“完成”处理程序计算使用(先前声明的)uploadFileCounter 变量完成的文件。如果uploadedFileCounter 等于fileToUpload,那么我知道所有排队的文件都已完成,并且可以再次激活按钮(.removeAttr)。

 .on('submitted', function(event, id, filename) {
            filesToUpload++;
            $(':input[type=button], :input[type=submit], :input[type=reset]').attr('disabled', 'disabled');                
         }).on('complete', function(event, id, fileName, responseJSON) {                            
            uploadedFileCounter++;          

            if (filesToUpload == uploadedFileCounter)
            {
               uploadedFileCounter = 0;   
               $(':input[type=button], :input[type=submit], :input[type=reset]').removeAttr('disabled');                                                                
            }                            
 })            

希望这可以帮助!

于 2013-09-06T16:40:28.263 回答