Сильно сомневаюсь, что файловый инпут можно программно заполнить списком файлов из D-n-D.
Потому, вариантов два:
1) таки отправлять форму аяксом. FormData, всё просто и без заморочек. TrueЪ way в современном фронтенде. Если серверный обработчик формы работает с кодировкой utf8, то в нем вообще ничего менять не придется.
2) Во многих браузерах файловый инпут уже умеет схватить файлы, которые падают на него при перетаскивании. Остается только это дело красиво оформить: в обработчике документного события dragover (когда указатель мыши с выбранными файлами заехал на страницу, но ещё не было сброса) показываем див с предложением "перетащите файлы сюда", ну как обычно делается, а поверх этого дива растягиваем файловый инпут, сделав его прозрачным. Тогда сброс файлов произойдет на файловый инпут, на нем сработает событие "change", и можно будет спрятать див и вообще вернуть всё на место.
Я эту схему не проверял, но навскидку должна сработать.
Последний раз редактировалось Alexandroppolus, 23.10.2017 в 15:26.
|