Вы что-то путаете.
«Тип кодировки» - это то, как форма должна быть закодирована при отправке на сервер. Это относится к форме в целом. Его нельзя применить к отдельным элементам. Если вы хотите загрузить файл с помощью элемента <input type="file">
, ваша форма (в целом) должна быть отправлена с использованием кодировки multipart/form-data
.
Вы можете определить этот тип кодировки с помощью enctype="multipart/form-data"
в элементе <form>
или с помощью атрибута formenctype="multipart/form-data"
на кнопке отправки.
Атрибут formenctype
на кнопке отправки переопределяет enctype
элемента <form>
, когда форма отправлено с помощью этой кнопки отправки.
<form method="POST">
<input type="submit"
value="Clicking me submits the form using the default `application/x-www-form-urlencoded` encoding method">
<input type="submit"
formenctype="multipart/form-data"
value="Clicking me submits the form using the `multipart/form-data` encoding method">
</form>
Вы не можете применить formenctype
к элементу файла, потому что элемент файла не является кнопкой отправки, а тип кодировки не применяется к отдельным элементам.
В этом случае W3Schools не ошибается. formenctype
используется для кнопок отправки, и есть два типа кнопок отправки: <input type="image">
и <input type="submit">
.