JQuery Uploadify - PullRequest
       19

JQuery Uploadify

4 голосов
/ 02 декабря 2009

Хорошо, я не могу опубликовать весь код, потому что это просто не нужно. Но вот проблема.

У меня есть диалог с вкладками (ui.tabs), который содержит форму загрузки для загрузки файлов. Однако на предыдущей вкладке я проверяю состояние радиокнопки, чтобы определить, разрешать ли только файлы изображений или флэш-файлы.

Я заранее инициализировал загрузку как таковую в $ (document) .ready:

$("#uploadify").uploadify({params});

... включая параметры fileDesc и fileExt. Само по себе все работает отлично. Но как только он будет инициализирован, я хочу изменить настройки, используя:

$("#uploadify").uploadifySettings('fileDesc','blah blah');
$("#uploadify").uploadifySettings('fileExt','.ext');

... но когда я делаю это, Firebug выдает следующее:

document.getElementById (a (this) .attr ("id") + "Uploader"). UpdateSettings не является функцией http://localhost/projectname/Javascript/jquery.uploadify.v2.1.0.min.js Линия 26

Теперь, очевидно, нет ничего плохого в самой загрузке, но я могу быть полной лапшой здесь. Это происходит потому, что он думает, что «#uploadify» еще не инициализирован?

Ответы [ 6 ]

3 голосов
/ 05 января 2010

Вы должны увидеть принятый ответ в этой теме . Ключ должен вызывать $("#uploadify").uploadifySettings(); внутри обработчика запуска загрузки или обработчик отправки формы.

В целом код js должен быть таким:

jQuery(function($){

  //make uploadify
  $("#uploadify").uploadify({params});

  //handle form submit
  $("#form").submit(function(e){
    //prefent form submit
    e.preventDefault();

    //change the uploadify setting, ex. scriptData
    $("#uploadify").uploadifySettings("scriptData", {'file_id': '345'});

    //start upload
    $("#uploadify").uploadifyUpload();

  });
});

Этот код работает для меня, я надеюсь, что он работает в вашем случае. Отправка формы может быть заменена другой функцией, такой как функция startUpload, которая существует в примере сценария с веб-сайта uploadify.

1 голос
/ 04 декабря 2009

Я борюсь с той же проблемой.

Кто-то на форумах Uploadify считает, что это ошибка, связанная с ситуацией, когда у родительского элемента был стиль отображения: нет.

http://www.uploadify.com/forum/viewtopic.php?f=7&t=2163

0 голосов
/ 12 мая 2011

IE может кэшировать файл uploadify.swf, и по некоторым причинам это приведет к сбою для некоторых пользователей. В конфигурации установки Uploadify измените URL-адрес загрузчика, добавив в строку запроса уникальное значение для предотвращения кэширования:

'uploader': '/Content/uploadify.swf?nocache=' + новая дата (). getTime ()

Это исправило проблему для меня.

0 голосов
/ 31 марта 2011

Я получил эту ошибку при использовании Uploadify внутри диалогового окна jquery.

Решением было инициализировать Uploadify после создания диалогового окна.

0 голосов
/ 02 декабря 2009

Вы предполагаете, что #uploadify еще не инициализирован. Вы поместили свой код uplaodify в

$(document).ready(function() { ... });

0 голосов
/ 02 декабря 2009

Попробуйте

$("#uploadify").uploadifySettings({fileDesc: 'blah blah', fileExt: '.ext'});
...