2012-05-29 4 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 Upload Button. В файле времени выполнения создается генерация. Я думаю, что есть какая-то проблема или ???? –

+0

Как вы используете свой «FileUploader»? Вы привязываете какое-либо событие «click» к кнопке загрузки? Включите этот код. – Stefan

ответ

1

Проблема не в части загрузки файлов, скорее, похожа на часть инициализации. Если ваш контроль загрузки файлов динамически создан, убедитесь, что вы инициализировали загрузчик после привязки к вашей разметке.

+0

спасибо, я получил его. Это моя ошибка. –

Смежные вопросы