Задать вопрос
azovl
@azovl

Как изменить передаваемое значение input-a?

Есть input:
<input type="file" id="usereditform-media_id" name="UserEditForm[media_id]" value="18" accept="image/*">


После того как я выбираю файл, по идее, имя файла заносится в какой-то атрибут input-a. Как изменить данное значение?

Ситуация:
Для загрузки изображения, я кликаю на кнопку "Обзор", выбираю файл, он автоматически аплоадится и возвращает мне id под которым он был сохранен. Этот id должен прийти в input, чтобы я мог вместе с формой отправить в БД.
  • Вопрос задан
  • 2354 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Почитайте про отправку файлов в HTML5 с помощью FormData или FileReader.

Для старых товарищей придётся в скрытый iframe. Не забываем про dragdrop в современных и невозможности type="file" multiple в старых.

В любом случае, файл (или файлы) уже отправлен(ы), и вторично отправлять содержание не нужно. В самой форме должны создаваться скрытые поля с полученными id, а поле type="file" банально удаляться.

Мне кажется, что найти готовый велосипед проще, чем самому писать.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@maxyc_webber
Web-программист
html работает немного не так.
в процессе созранения формы вы сохраняйте файлы
Ответ написан
Комментировать
baskerville42
@baskerville42
Учусь работать (Junior)
Вы абсолютно не правильно поставили себе задачу и создали себе проблему. Все намного проще. Вы выбрали файл, который сам по себе еще никуда не аплодится. Потом когд вы уже нажали кнопку Отправить, скрипт который служит экшеном Вашей формы должен получить этот файл, возможно как то его переименовать, что бы в одну папку не попали файлы с одинаковыми названиями и там же он должен внести в БД инфу о этом файле.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы