Я использую PEAR HTML Quickform для различных форм на моем сайте php.
Одна из проблем, с которыми я сталкиваюсь, заключается в том, что если пользователь выбирает файл для загрузки (кнопка Обзор …) и отправляет его, в то время как он забыл заполнить обязательное поле, форма перезагружается со всей информацией и сообщением об ошибке, но для файл. Поэтому он должен еще раз просмотреть тот же файл, прежде чем отправить его снова.
Мне интересно, было ли что-то, что могло бы предотвратить это, в HTML Quickform или даже с другими работами, о которых вы могли подумать. По сути, я представляю себе попытку задать путь к файлу по умолчанию, выбранный пользователем перед отправкой. Но с другой стороны, возможно ли «по умолчанию» поле файла?
Значения по умолчанию для поля загрузки файла невозможны по соображениям безопасности; это ограничение браузера. В противном случае вы можете предварительно заполнить скрытую форму /etc/passwd
или другие системные файлы и автоматически отправлять их через JavaScript 🙂
Вы можете только попытаться обработать файл даже в случае ошибки формы и изменить форму, чтобы больше не иметь поля для загрузки файла (и показать загруженный файл).
Но тогда вы также должны очистить на случай, если форма никогда не будет отправлена снова.
Других решений пока нет …