Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> plupload - открывает несколько диалога для выбора 
:(
    Опции темы
mstdmstd
Дата 1.3.2014, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 30.12.2008

Репутация: нет
Всего: нет



Подскажите пожалуйста,
использую либу plupload  v2.1.1 для загрузки файлов через ajax
Делал как описано в доке тут http://www.plupload.com/docs/Getting-Started
И все вроде работает кроме того что при клике на линке Add more images открывается 2 а иногда 3 диалога для выбора файлов.

делаю :

Код

<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/plupload/plupload.full.min.js"></script>


    // Initialize the widget when the DOM is ready
    function InitializePlupload() {
        document.getElementById('filelist').innerHTML= "";
        document.getElementById('div_loadedImagesList').innerHTML= "";


        var uploader = new plupload.Uploader({
            browse_button: 'browse', // this can be an id of a DOM element or the DOM element itself
            // Rename files by clicking on their titles
            url: '<?php echo $config_admin_base_url ?>upload_product_images.php?invid='+current_inv_id+"&session_id=<?php echo session_id() ?>&DocumentRoot=<?php echo urldecode($DocumentRoot) ?>"
        });

        uploader.bind('FilesAdded', function(up, files) {
            number_ofAddedFiles= files.length
            var html = '';
            plupload.each(files, function(file) {
                html += '<li id="' + file.id + '">' + file.name + ' (' + plupload.formatSize(file.size) + ') <b></b></li>';
            });
            document.getElementById('filelist').innerHTML += html;
            document.getElementById('div_uploading_status').innerHTML= current_inv_id + ' Files selected.'
        });

        uploader.bind('UploadProgress', function(up, file) {
            if ( document.getElementById(file.id) ) {
                document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = '<span>' + file.percent + "%</span>";
            }
        });

        uploader.bind('Error', function(up, err) {
            alert( "Error #" + err.code + ": " + err.message )
            document.getElementById('console').innerHTML += "\nError #" + err.code + ": " + err.message;
        });

        document.getElementById('start-upload').onclick = function() {
            uploader.start();
        };

        uploader.bind('FileUploaded', function(up, file, info) {  // Called when a file has finished uploading
                   ...

        });

        uploader.init();

    }

...
            <div id="container">
                <a id="browse" href="javascript:return false;">[Add more images]</a>
                <a id="start-upload" href="javascript:;">[Start Upload]</a>
            </div>


Функция InitializePlupload() вызывается при заполнении формы данными выбранного продукта
В 
Код

new plupload.Uploader({ 
   ...
            url: '<?php echo $config_admin_base_url ?>upload_product_images.php?invid='+current_inv_id+


current_inv_id - это как раз код этого продукта и он меняется при выборе продукта
В чем может быть проблема?
PM MAIL   Вверх
mstdmstd
Дата 8.3.2014, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 30.12.2008

Репутация: нет
Всего: нет



Я нашел причину проблемы - она в том что продукт загружается средствами ajax без перегрузки страницы :
Код

        var uploader = new plupload.Uploader({
            browse_button: 'browse', // this can be an id of a DOM element or the DOM element itself
            url: '<?php echo $config_admin_base_url ?>upload_product_images.php?invid='+current_inv_id+"&session_id=<?php echo session_id() ?>&DocumentRoot=<?php echo urldecode($DocumentRoot) ?>"
        });

Это как раз переменная current_inv_id . И получается что один вызов этой функции и еще один дополнительный диалог при открытии окна.

тут ссылка на используемый мною упакованный файл
http://www.plupload.com/plupload/js/plupload.full.min.js


тут http://www.plupload.com/plupload/js/plupload.dev.js его dev-версия 

Я порылся в коде последнего и нашел строки

Код

        // initialize file pickers - there can be many
        if (settings.browse_button) {
            plupload.each(settings.browse_button, function(el) {
                queue.push(function(cb) {



Я хотел после строки с кнопкой добавить строку с очисткой массива :
Код

if (settings.browse_button) {
   queue = [];  


Но если подключить этот plupload.dev.js файл по загрузка не работает а рыться в коде plupload.full.min.js - я там просто не нашел аналога
Код

        if (settings.browse_button) {
            plupload.each(settings.browse_button, function(el) {
                queue.push(function(cb) {

...
Подскажите есть ли возможность дебажить plupload.full.min.js ? Упаковынный код нечитаемый.    

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0833 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.