Во всех интернет ресурсах где рассматривается загрузка файлов - загрузка выполняется php скриптом который на который отправляются данные формы после операции "submit". Я ищу способ передать файл на загрузку в скрипт php используя ajax. Основная цель - не покидать web форму в котрой пользователь выбирает файл. Ниже привожу упрощенный пример для лучшего понимания вопроса Простейшая форма для загрузки файл Код (PHP): <form id="reg_form" name="reg_form" method="post" enctype="multipart/form-data" action="simple.php"> <input type="hidden" name="MAX_FILE_SIZE" value="10500000"/> <input type="file" name="pic" accept="image/jpg" size="30"/> <input type="submit" name="to_load" value="загрузить изображение"/> </form> простейший скрипт по загрузке файла simple.php Код (PHP): <?php move_uploaded_file($_FILES["pic"]["tmp_name"], "tmp/loaded_img.JPG"); ?> Можно ли как то выполнить simple.php через ajax, а не после операции submit? Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
Это не взаимоисключающие вещи. Просто вызывай свой ajax по событию onsubmit формы. При этом сама форма отправлена на сервер не будет, но ты сможешь сериализовать ее и отправить скрипту без перезагрузки страницы.
Если я правильно понял, для кнопки type="submit" надо определить обработчик onsubmit в котором будет выполнен ajax запрос и при этом перенаправления на скрипт simple.php, который будет обрабатывать загружнный файл, не произойдет. Как в ajax запросе передать файл который пользователь выбрал? У меня именно с этим все трудности.
Я пользую обычно jquery form, он умеет файлы передавать из обычных форм. А так, HTML5 file api или флеш, или есть ещё способов дофига. Но вручную делать без существующих плагинов замарочно ajax-передачу файлов