Есть ли смысл использовать тег form, если не понимаю как обойтись без FormData()?

Задача: Заполнение формы с анкетой (Имя, Фамилия) и несколько фоток (через multiple).

При загрузке одного фото, нет проблем с отправкой на сервер, если указываю несколько фоток, то отправляется только одна. Я решил вопрос с помощью кода ниже, но возник вопрос, если я вынужденно использую FormData(), то есть ли смысл использовать тег <form>? Или задача решалась как-то по другому, и form уже имеет какой-то объект с данными?

<form action="" method="post" enctype="multipart/form-data" id="myform">
	  <input type="file" name="images" multiple id="myimage">
	  <input type="text" name="name" placeholder="Имя" id="name">
	  <input type="text" name="lastname" placeholder="Фамилия" id="lastname">
	  <input type="submit">
	</form>

	<script>
		const images = document.getElementById('myimage');
		const name = document.getElementById('name');
		const lastname = document.getElementById('lastname');

		const my_submit = function(e) {
		  e.preventDefault();

		  let form = new FormData();
    	form.append('name', name.value);
    	form.append('lastname', lastname.value);

    	let a = 0;
    	for (let file of images.files) {
    		a++;
    		form.append('file['+ a +']', file);
    	}
			//	for (let i in images.files) {	form.append('file['+ i +']', images.files[i]);	}
			
		};

		const form = document.getElementById('myform');
		form.addEventListener("submit", my_submit, true);
	</script>


Код отправки через ajax я вырезал из кода, так как он прекрасно работает и к вопросу не относится.
  • Вопрос задан
  • 49 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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