Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > сохранить значение у input file после отправки


Автор: rew 28.8.2012, 19:16
привет всем!

у меня на форме есть валидация данных, так вот если пользователь вводит не правильно логин в input text, то загрузка его аватара
в input file теряется 

как можно вернуть значение элементу input type=file после отправке на сервер, в случае ошибки ?




Автор: Sanchezzz 28.8.2012, 19:28
сохранять картинки во временной папке на финализации шага регистрации  перемешать copy unlink картинку куда нужно.
при открытии формы регистрации чистить временную папку от файлов старше более чем день или 2 часа.

при ошибке вы храните уже не в file а в скрытом поле имя файла

Автор: ksnk 28.8.2012, 19:38
Кроссброузерно - никак. 

Можно отправлять форму в скрытом фрейме, получать оттуда результат и, в случае успешного сохранения, перезагружать страницу формы.

Код

<iframe id="hiddenframe" name="hiddenframe" src="javascript:void(0);"></iframe>

<form target="hiddenframe" ... >


Можно пользоваться Ajax-отправкой формы. В принципе, первый способ - тот же Ajax, механика взаимодействия с сервером та же самая, писать в обоих случаях приходится сравнительно одинаковый объем текста, однако второй способ выглядит логичнее, с точки зрения неискушенного программиста  ;) Преимущество первого - независимость от сторонних библиотек.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)