Подтвердить что ты не робот

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

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

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

Вопрос:

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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