Просмотр полной версии : как восстановить путь к файлу в <input type=file ?
не могу правильно сформулировать, поэтому не знаю как гуглить.
в общем есть форма загрузки файла.
к примеру я выбрал файл, нажал загрузить и после перезагрузки внизу получил список ошибок. (имя неправильное, размер слишком большой и тд)
естественно логично будет сразу заполнить все поля - чтобы пользователю не надо было печатать всё снова.
но как заполнить поле загрузки файла, чтобы не надо было его снова выбирать? возможно ли это?
Buffalon
01.06.2008, 10:40
Ты имеешь ввиду про скрытые формы?
<input type=hidden name=size value='1000'>
Он имеет ввиду путь на компьютере пользователя, которое он ввел в поле для заливки файла. Чтобы пользователю второй раз не пришлось снова выбирать файл на своем компе.
Я не знаю как это сделать, но есть идея - сделать скрытый input, в котором продублировать VALUE поля с файлом.
нажал загрузить и после перезагрузки внизу получил список ошибок. (имя неправильное, размер слишком большой и тд)
если страница перезагружается сделать это для input'a нельзя. думай как выводить ошибки без перезагрузки страницы.
GreenBear
01.06.2008, 13:09
как правильно сказал D0S сделать валуе для тайпа файл нельзя по соображениям безопасности.
сделать скрытый input, в котором продублировать VALUE поля с файлом.
толку то.
http://dklab.ru/lib/HTML_MetaForm/
Тут почитай. Я его юзаю в одном из проектов. Он такой тугой... Могу дать кусок кода загрузки файла, если понадобится
аякса там не будет. движок будет простой, без фич. так что хрен с ним, с путём. я думал - может можно.
В Jquery присутствует возможность выноса полного пути с диска до расширения файла( D:\xek\mafia.jpg) в поле, соответственно можно занести в куки и после этого выводить
astrologer
01.06.2008, 18:09
Никак. Атрибут value доступен не более, чем для чтения.
Загружать файлы через Ajax невозможно - все библиотеки, которые утверждают, что поддерживают загрузку через Ajax, используют сабмит формы в скрытый фрейм, при этом значения заполненных полей сохраняются.
Я ни в коей мере не ошибся, писав свой прошлый пост
astrologer
01.06.2008, 21:05
Я ни в коей мере не ошибся, писав свой прошлый постНо это никак не поможет "восстановить путь к файлу в <input type=file".
Операция "восстановления" состоит, условно говоря, из трех шагов:
1) Чтение значения.
2) Запоминание полученного на предыдущем шаге.
3) Повторной записи значения.
JS, не обладающий chrome-привилегиями, не может изменить значение поля <input type="file"> на любое непустое.
Если ты имел ввиду выводить значение через PHP: <?php
echo
'<form id="form">
<input type="file" value="'.antixss($_COOKIE['path']).'">
</form>';
?>, то это тоже не получится - браузер просто его проигнорирует.
всем спасибо.
теперь ясно почему значение поля недоступно
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot