Текущее поведение вашего кода соответствует ожидаемому. input type=file
позволит вам выбрать несколько файлов за один раз и отправить форму, когда установлен несколько тегов. Но в вашем случае, когда вы открываете окно обзора и выбираетеодин файл, только этот файл будет отправлен.
И даже когда вы выбираете файлы один за другим, открывая просмотр, контекст очищается, и только последний выбранный файл выбирается для отправки. Если вы хотитеОтмените это поведение по умолчанию, вам придется обрабатывать его самостоятельно в javascript, что не рекомендуется.
Используйте следующий плагин jquery для достижения этих функций, так как это позволит избежать большого количества кода и времени на табличке:
https://blueimp.github.io/jQuery-File-Upload/basic.html
<html>
<head>
<meta charset="utf-8">
<title>jQuery File Upload Example</title>
</head>
<body>
<input id="fileupload" type="file" name="files[]" data-url="server/php/" multiple>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="js/vendor/jquery.ui.widget.js"></script>
<script src="js/jquery.iframe-transport.js"></script>
<script src="js/jquery.fileupload.js"></script>
<script>
$(function () {
$('#fileupload').fileupload({
dataType: 'json',
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$('<p/>').text(file.name).appendTo(document.body);
});
}
});
});
</script>
</body>
</html>
Просто приведенный выше код будет отправлять файлы по вашему выбору, но вы можете настроить его так, чтобы отображались индикаторы выполнения, выбирать несколько файлов за один раз или один за другим послечтение предоставленной документации.
Официальный документ: читать