Можем ли мы использовать Uploadify просто для прогрессивного улучшения ввода файлов? - PullRequest
1 голос
/ 26 октября 2010

Когда я делаю файловые вводы, я обычно устанавливаю их opacity в 0 и помещаю кнопку browse под ними (просто потому, что файловые вводы сами по себе уродливы и негибки - и я должен соответствовать требованиям дизайнера).

Я только что наткнулся на Uploadify .

Моя форма в настоящий момент работает как стандартная форма с загрузкой файлов ввода.

Я хочуиспользовать Uploadify только для функций ...

  • Форсирование запроса на добавление к расширению (jpg, jpeg, png, gif).
  • Отображение имени файла после выбора и размера файла

Я установил опцию не загружать автоматически при выборе.

Когда я отправляю форму сейчас с этим кодом вызова jQuery ...

var fileTypes = [];
$.each(config.validExt, function(i, ext) {
 fileTypes.push('*.' + ext);
});

var fileInputs = form.find('input[type=file]');

fileInputs.uploadify({
'uploader'  : config.basePath + 'assets/packages/uploadify/uploadify.swf',
'script'    : config.basePath + 'assets/packages/uploadify/uploadify.php',
'cancelImg' : config.basePath + 'assets/packages/uploadify/cancel.png',
'auto'      : false,
'folder'    : config.basePath + 'application/uploads',
'fileDesc'  : 'Images (' + config.validExt.join(', ') + ')' ,
'fileExt'   : fileTypes.join(';')
});

form.find('button[type=submit]').click(function(event) {

fileInputs.uploadifyUpload();

});  

Он просто падает и ничего не загружает.

Кроме того, отправка folder с клиента звучит немного странно, но я планировал выбрать папку через PHP.

Итак, я хочу, чтобы форма действовала как обычно, просточтобы получить эти преимущества от использования Uploadify.

Возможно ли это?

Спасибо

1 Ответ

0 голосов
/ 28 октября 2010

Попробуйте отправить форму через опцию onAllComplete.Убедитесь, что кнопка не является кнопкой отправки.

fileInputs.uploadify({
  'uploader'      : config.basePath + 'assets/packages/uploadify/uploadify.swf',
  'script'        : config.basePath + 'assets/packages/uploadify/uploadify.php',
  'cancelImg'     : config.basePath + 'assets/packages/uploadify/cancel.png',
  'auto'          : false,
  'folder'        : config.basePath + 'application/uploads',
  'fileDesc'      : 'Images (' + config.validExt.join(', ') + ')' ,
  'fileExt'       : fileTypes.join(';'),
  'onAllComplete' : function(event,data) {
      form.submit();
    }
});

form.find('#submit').click(function(event) {
  fileInputs.uploadifyUpload();
}); 
...