@MaksZhukov
programer

Как по нажатию на картинку загрузить её в file input?

Как по нажатию на картинку загрузить её в file input?
У меня просто есть 3 картинки, 1 пустая, 2 по дефолту, 3 выбирает пользователь. По нажатию на 3 картинку происходит событие input file click, и выбирается картинка и после input file по нажатию на sumbit отправляется на сервер, но если была выбрана 1 картинка или 2, то input не изменяется и никаких данных не отправляется как можно это сделать чтобы при нажатию на 2 картинку(путь) отправлялся тоже на сервер по input file, а если на 1 то отправлялся пустой путь.
  • Вопрос задан
  • 867 просмотров
Пригласить эксперта
Ответы на вопрос 3
@MrTimon
Так как вы пытаетесь реализовать нельзя. Можно сделать немножко по другому. В форме сделать hidden поле куда в результате будет прописываться путь к картинке. Теперь при клике на картинку 1 или 2 просто прописываете путь этой картинки в это hidden поле. А при нажатии на 3 картинку должно срабатывать input file click с другой формы. А на input file change ajax-ом отправлять файл на сервер в некую временную папку и после выполнения аякса, путь к этому файлу уже с сервера, втавлять в это hidden поле. Теперь при нажатии сабмита вам с хиден поля прийдет путь к выбраной картинке. Делаете с ней манипуляции и потом при небходимости удаляете с временной папки.
Ответ написан
SWEBB
@SWEBB
Software Developer
Вот пример с FileReader jsfiddle.net/lesson8/sLLR6
только в конце нужна соответственно кнопка submit
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Вы не можете подставить другой путь в input type=file в целях безопасности так специально сделано. Впрочем, можно отправить файл через ajax без участия инпута.

Не подскажите а какие данные с input file вообще отправляются на сервер значение value?

Отправляется имя и тип файла, его размер, и собственно содержимое. Файлов может быть больше одного.

Вот пример того, что видно из PHP когда файл пришел:
php.net/manual/ru/reserved.variables.files.php#89674
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы