Загрузка изображений с помощью Mootools - PullRequest
1 голос
/ 27 ноября 2010

Я создаю загрузчик ajax с mootools.Когда я удаляю ajax и просто загружаю форму, я получаю $ _FILES с данными файла.Но когда я использую версию ajax, суперглобальная переменная $ _FILES пуста.Каждая другая часть формы присутствует.Он действует так, как будто он вообще не отправляет изображение, а только в версии AJAX.Любая помощь приветствуется.Спасибо!

<form id="uploadphoto_pod" action="upload.php" enctype="multipart/form-data" method="post">
<input type='file' id='uploadphoto' name='uploadphoto'/>
<input type="submit" class="submit" name="add_product" value="Upload" />
  </form>
   <div id="response"><!-- Ajax Response --></div>
<script type="text/javascript">
 window.addEvent('domready', function(){
$('uploadphoto').addEvent('submit', function(e) {
    //Prevents the default submit event from loading a new page.
    e.stop();
    //("this" refers to the $('uploadphoto') element).
    this.set('send', {onComplete: function(response) {
        $('response').set('html', response);
    }});
    //Send the form.
    this.send();
});
});
   </script>

Ответы [ 2 ]

2 голосов
/ 03 сентября 2012

Существует также плагин Mootools "Form.Upload" , который выполняет красивую загрузку HTML5 с автоматической откаткой для старых браузеров - он прекрасно справляется с задачей, даже реализует загрузку нескольких файлов с поддержкой перетаскивания, нок сожалению, не хватает немного расширяемости - в настоящее время я пытаюсь реализовать функцию, которая позволяет мне добавлять дополнительные элементы формы - в настоящее время отправляются только поля ввода файла.

Всего несколько минут назад я обнаружил это простое и простое расширение File.Upload - это, наконец, добилось цели.Это очень настраиваемый и позволяет мне отправлять дополнительные поля в принимающий файл данных формы.Хотя выбор нескольких файлов не возможен, но он кажется идеальным для простых загрузок ajax с одним файлом и может быть запущен, например, в событии изменения поля ввода селектора файлов.

0 голосов
/ 27 ноября 2010

Вы не можете сделать это только с помощью Javascript.Вам также понадобится какой-нибудь флэш-плагин, такой как SWFUpload.Или используйте новый XMLHTTPRequest v2 .Последний еще не поддерживается всеми браузерами.Так что придерживайтесь первого варианта на данный момент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...