Проблема в том, что тег <input>
действует здесь «атомарно».Что бы вы ни выбрали, вы выбираете.Если вы хотите добавить другие элементы позже, вам придется либо использовать плагин (как предложено), либо справиться с этим самостоятельно.
let allFiles = [];
$('#files').change(function() {
this.allFiles = this.allFiles.concat($("#files")[0].files);
showFileNames();
});
Обратите внимание, как я уже сказал, что файлы "объединены с переменной allFiles.
Кроме того, функция showFileNames
может отображать все файлы или, например, только имена файлов в таблицу, список или что-то еще.И для каждого файла у вас также может быть «x», чтобы удалить его.
Теперь, когда вы отправляете форму позже, вы используете allFiles
вместо этого ввода напрямую, например, создавая FormData самостоятельно.