Thuộc tính enctype trong HTML chỉ định định dạng mã hóa dữ liệu biểu mẫu (form). Thuộc tính này chỉ có hiệu lực khi phương thức gửi dữ liệu là POST.
Các giá trị của enctype
| Giá trị | Mô tả |
|---|---|
application/x-www-form-urlencoded |
Giá trị mặc định. Tất cả ký tự đều được mã hóa trước khi gửi (khoảng trắng chuyển thành dấu +, ký tự đặc biệt chuyển thành giá trị ASCII HEX) |
multipart/form-data |
Không mã hóa ký tự. Giá trị này bắt buộc khi biểu mẫu có điều khiển tải lên tệp (file upload) |
text/plain |
Khoảng trắng chuyển thành dấu +, nhưng các ký tự đặc biệt không được mã hóa |
Ví dụ minh họa
Dưới đây là ví dụ sử dụng thuộc tính enctype với giá trị multipart/form-data cho biểu mẫu tải tệp:
<!DOCTYPE html>
<html>
<head>
<title>Thuộc tính enctype trong HTML</title>
<style>
form { width: 70%; margin: 0 auto; text-align: center; }
* { padding: 2px; margin: 5px; }
input[type="button"] { border-radius: 10px; }
</style>
</head>
<body>
<form enctype="multipart/form-data" action="" method="post">
<fieldset>
<legend>Demo enctype</legend>
<label for="EmailSelect">Email: <input type="email" id="EmailSelect"> </label><br>
<input type="file" name="uploadFile"><br>
<button type="submit">Gửi</button>
</fieldset>
</form>
</body>
</html>
Lưu ý quan trọng: Luôn sử dụng enctype="multipart/form-data" khi biểu mẫu chứa thẻ <input type="file">, nếu không tệp sẽ không được gửi lên máy chủ.