Intereting Posts
MySQL и PHP загружают более 1000 элементов, заставляет замораживать браузер Рекомендации по доступу к зарегистрированному объекту пользователя из других классов MVC: сколько кода должно быть в представлении? Доступ запрещен для пользователя 'root' @ 'localhost' с помощью PHPMyAdmin Действительно ли CURL NOBODY приносит тело? PHP повторяющиеся элементы в мыльном вызове Отформатированный старый формат PHP Чувствительность к регистру Yii Генерирование случайных чисел без повторов Сценарий GoogleCloudMessaging PHP всегда возвращает неверную регистрацию лучше ли убеждать / закодировать пользовательский ввод, прежде чем хранить его в базе данных или сохранить его, как он есть в базе данных, и избежать его при извлечении? Можно ли заменить функцию в классе PHP? Получение всех $ _POST из нескольких значений выбора Запрос выбора Mysql с использованием значения из раскрывающегося списка php PHP DOMDocument: как анализировать xml / rss теги с именами полей CUSTOM?

Можете ли вы повторно заполнить входы файлов после неудачной отправки формы с помощью PHP или JavaScript?

Итак, вот сценарий:

Пользователь представлен формой, содержащей входные файлы. Пользователь отправляет форму. Форма не проходит проверку / проверку по той или иной причине. Пользователь отображает форму с выделенными ошибками. Входы файлов теперь пустые.

Вопрос:

Возможно ли повторное заполнение входных файлов файлами с помощью путей к файлам, выбранным пользователем. Решение PHP было бы идеальным, но я также открыт для решений JavaScript.

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

Если файл был выбран и форма отправлена, вы уже получили файл. Что вы можете сделать, так это сохранить ссылку на файл на диске и поместить его в скрытое поле и показать сообщение, чтобы указать пользователю, что вы все еще загрузили свой файл, поэтому его не нужно заменять / повторно загружать. Когда ваша форма будет отправлена ​​снова без файла, вы можете проверить значение скрытого поля и использовать это, чтобы получить локальную копию файла, который они загрузили в свою последнюю попытку.

Другой способ сделать это – либо отправить форму через ajax (используя либо flash, либо метод iframe для загрузки файла), либо выполнить вызов ajax для проверки формы сначала, а затем подать только как нормальный, если он действителен (при этом нет перезагрузка формы, отсутствие потери данных поля загрузки файла).

Я решил эту проблему, позволив пользователю выбрать файл загрузки в качестве последнего поля перед отправкой формы ^^