2012-05-29 53 views
0

这是我上传多个文件的jquery代码。输入文件动态生成,所以我调用这些输入文件生成的FileUploader函数。但我必须点击两次才能上传文件。任何想法都表示赞赏。
通过jquery上传多个文件

FileUploader: function($dis) { 
        var fileName = ''; 
        var $htm = $($dis.parents('div.sfFormInput').find('div.cssClassUploadFiles')); 
        var $ht = $($dis.parent('div.uploader')); 
        var extension = new RegExp($ht.attr('extension'), "i"); 

        var upload = new AjaxUpload($('#' + $dis.attr('id') + ''), { 
         action: Path + "UploadHandler.ashx", 
         name: "myfile[]", 
         multiple: true, 
         data: {}, 
         autoSubmit: true, 
         responseType: "json", 
         onChange: function(file, ext) { 
         }, 
         onSubmit: function(file, ext) { 
          if ($ht.attr('almul') == "false" && $('div.cssClassUploadFiles').children('div').length > 0) { 
           csscody.alert('<h1>Alert Message</h1><p>You can upload only one file at a time!</p>'); 
           return false; 
          } 
          if (ext != "exe" && extension != '') {enter code here 
           if (ext && extension.test(ext)) { 
            this.setData({ 
             'MaxFileSize': $ht.attr('filesize') 
            }); 
           } else { 
            csscody.alert('<h1>Alert Message</h1><p>Not a valid file!</p>'); 
            return false; 
           } 
          } 
         }, 
         onComplete: function(file, response) { 
          var html = ''; 
          var filePath = Path + "/UploadedFiles + file; 
          if (file.split('.')[1] == "jpg" || file.split('.')[1] == "JPEG" || file.split('.')[1] == "gif" || file.split('.')[1] == "bmp" || file.split('.')[1] == "png") 
           html = '<div title="' + Path + "UploadedFiles + file + '" ><img height="10%" width="10%" src="' + filePath + '"/><a class="sfDeleteFile"><img src="../Modules/FormBuilder/images/closelabel.png" /></a></div>'; 
          else 
           html = '<div title="' + Path + "UploadedFiles + file + '" >' + file + ' <a class="sfDeleteFile"><img src="../Modules/FormBuilder/images/closelabel.png" /></a></div>'; 
          $htm.append(html); 
         } 
        }); 
       } 


代码的工作,但唯一的问题是我必须单击两次上传文件。

+0

两次打开文件浏览器上的哪个按钮或打开文件浏览器的上传按钮? – shareef

+0

@ shareef上传按钮。在运行时输入文件生成。我认为有一些问题或? –

+0

你如何使用'FileUploader'?你是否将任何'click'事件绑定到上传按钮?也包括该代码。 – Stefan

回答

1

问题不在于文件上传部分,而是看起来像在初始化部分。如果您的文件上传控件是动态创建的,请确保在绑定标记后初始化上传器。

+0

谢谢,我明白了。那是我的错。 –