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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение имени при выборе файла, JQuery Uploadify 
:(
    Опции темы
vasinsky
Дата 22.11.2011, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Группа: ★ЛжеЭксперт★



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

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



Вообщем подправил JS , для того чтобы после выбора файла, срабатывал PROMT() , в котором можно было бы сменить имя загружаемого файла

Код

$(document).ready(function() { 
  
  var id_sect = $("#id_sess").html();  
    
  $('#load').css('display', 'none');
  
  $("#uploadify").uploadify({

    'uploader'    : '../../dxmods/uploadify/uploadify.swf',

    'script'     : '../../dxmods/uploadify/uploadify.php',

    'checkscript'  : '../../dxmods/uploadify/check.php',

    'cancelImg'   : '../../dxmods/uploadify/cancel.png',

    'queueID'    : 'fileQueue',

    'auto'      : false,

    'multi'     : false,

    /*'fileExt'   : '*.jpg',*/
    
    'folder' : '/uploads/' + id_sect,
    
    'buttonImg'  : '../../dxmods/uploadify/takefile.png',
    
    'width'  : 250,
    
    'height' : 40,
    
     'onSelect'    : function(event,ID,fileObj) {
       $('#load').css('display', 'block');
       
       
        var ext=fileObj['name'].split('.');
     
       
       var nameFile = prompt('Укажите новое имя: ' + fileObj['name'], ext[0]);
       
       return fileObj['name'] = nameFile + fileObj['type'];     
       
    },    

    'onComplete'   : function(event,queueID,fileObj,response,data) {$('#response').append(response); $('#load').css('display', 'none'); location.reload();}

  });
  

});    


Вот этот кусок делает то что мне нужно, евент promt() срабатывает и юзер вводит новое имя файла, до того как тот встанет в очередь загрузки

Код

   'onSelect'    : function(event,ID,fileObj) {
       $('#load').css('display', 'block');
       
       
        var ext=fileObj['name'].split('.');
     
       
       var nameFile = prompt('Укажите новое имя: ' + fileObj['name'], ext[0]);
       
       return fileObj['name'] = nameFile + fileObj['type'];     
       
    },    



НО!

повесил на OnSelect - получается - открываешь файл и когда окно диалога ввыбора закрывается - срабатывает моя функция, в которой предлагается сменить имя

Всё ОК, в список загрузки попадает файл уже с новым "моим" именем, но в директорию грузится со старым именем.


Код

    'onOpen'      : function(event,ID,fileObj) {
      alert('The upload is beginning for ' + fileObj.name);
    },   
  


Вообщем вот код с комментами, где всё описал

Код

$(document).ready(function() { 
  
  var id_sect = $("#id_sess").html();  
    
  $('#load').css('display', 'none');
  
  $("#uploadify").uploadify({

    'uploader'    : '../../dxmods/uploadify/uploadify.swf',

    'script'     : '../../dxmods/uploadify/uploadify.php',

    'checkscript'  : '../../dxmods/uploadify/check.php',

    'cancelImg'   : '../../dxmods/uploadify/cancel.png',

    'queueID'    : 'fileQueue',

    'auto'      : false,

    'multi'     : false,

    /*'fileExt'   : '*.jpg',*/
    
    'folder' : '/uploads/' + id_sect,
    
    'buttonImg'  : '../../dxmods/uploadify/takefile.png',
    
    'width'  : 250,
    
    'height' : 40,
    
    'progressData' :'percentage',
    

     'onSelect'    : function(event,ID,fileObj) {
       $('#load').css('display', 'block');

       var ext=fileObj['name'].split('.');
       var nameFile = prompt('Укажите новое имя: ' + fileObj['name'], ext[0]);
      
       /*СФОРМИРОВАЛ НОВОЕ ИМЯ*/
        fileObj['name'] = nameFile + fileObj['type']; 
       /*В очереди файлов - отобразилось новое имя - всё гуд*/
    }, 
    
    //Перед загрузкой вешаю евент - здесь говорит что имя старое
    'onOpen'      : function(event,ID,fileObj) {
      alert('The upload is beginning for ' + fileObj['name']);
    },            
           

    'onComplete'   : function(event,queueID,fileObj,response,data) 
                     {
                         $('#response').append(response); 
                         $('#load').css('display', 'none'); 
                         location.reload();
                     }

  });
  

});



Может я не правильно событие onSelect выбрал?

Т.е по факту свойство объекта fileObj - 'name' - не присвоилось, вот в чём делема

Код

return fileObj['name'] = nameFile + fileObj['type'];

PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




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


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

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