Khóa học IT HTML Cơ bản 013_Biểu mẫu và Nhập liệu người dùng
Biểu mẫu
Biểu mẫu HTML (Form) là một phần rất quan trọng của HTML, cho phép người dùng nhập thông tin trên trang web và gửi đến máy chủ.
Ví dụ:
<form action="/submit" method="post"> <!-- Các phần tử biểu mẫu ở đây --></form>Phần tử <form> định nghĩa vùng nơi người dùng nhập dữ liệu và có thể chứa các loại phần tử nhập liệu khác nhau như vùng văn bản <textarea>, danh sách thả xuống <select>, nút radio <radio>, hộp kiểm <checkbox> và nút bấm <button>.
Thuộc tính biểu mẫu:
action: Định nghĩa URL của tệp xử lý dữ liệu biểu mẫu sau khi gửi đến máy chủ.method: Định nghĩa phương thức HTTP được sử dụng để gửi dữ liệu đến máy chủ. Các giá trị phổ biến là “get” và “post”.name: Dùng để chỉ định tên biểu mẫu. Tên biểu mẫu dùng để nhận dạng biểu mẫu và được sử dụng khi xử lý dữ liệu biểu mẫu ở phía máy chủ.enctype: Dùng để chỉ định phương thức mã hóa dữ liệu biểu mẫu. Dữ liệu biểu mẫu có thể sử dụng mã hóaapplication/x-www-form-urlencodedhoặcmultipart/form-data.autocomplete: Dùng để chỉ định có bật tính năng tự động hoàn thành biểu mẫu hay không. Nếu đặt thànhon, trình duyệt sẽ tự động điền dữ liệu đã nhập trước đó vào biểu mẫu.novalidate: Dùng để chỉ định có xác thực dữ liệu biểu mẫu hay không. Nếu đặt thànhon, dữ liệu biểu mẫu sẽ không được xác thực trước khi gửi.
[!Tóm tắt]
- Bản thân biểu mẫu form không hiển thị.
Trường văn bản
Trong biểu mẫu, chúng ta thường cần người dùng nhập nội dung văn bản như chữ cái, số. Điều này có thể được thực hiện với phần tử <input> với thuộc tính type được đặt thành “text”.
Ví dụ:
<form>Họ tên: <input type="text" name="name"><br>Tuổi: <input type="text" name="age"></form>Hiệu ứng:

[!Tóm tắt]
- Trong hầu hết các trình duyệt, chiều rộng mặc định của trường văn bản là 20 ký tự.
Trường mật khẩu
Nếu bạn cần người dùng nhập mật khẩu, đặt thuộc tính type của phần tử <input> thành “password”, và nội dung nhập vào sẽ được ẩn đi.
Ví dụ:
<form>Mật khẩu: <input type="password" name="pwd"></form>Hiệu ứng:

[!Tóm tắt]
- Các ký tự trong trường mật khẩu không hiển thị dạng văn bản thông thường mà được thay thế bằng dấu sao * hoặc dấu chấm .
Nút radio (Radio Buttons)
Nút radio và hộp kiểm cho phép người dùng chọn một hoặc nhiều tùy chọn từ nhiều lựa chọn. Giá trị thuộc tính type cho nút radio là “radio”.
Ví dụ:
<form action="">Giới tính:<input type="radio" name="sex" value="male" checked>Nam<input type="radio" name="sex" value="female">Nữ</form>Hiệu ứng:

[!Tóm tắt]
- Giá trị thuộc tính
namecủa các nút radio phải giống nhau, nếu không chúng sẽ không thuộc cùng một nhóm.- Thuộc tính
checkeddùng để chỉ định nút radio có được chọn mặc định hay không.
Hộp kiểm (Checkboxes)
Hộp kiểm cho phép chọn một hoặc nhiều tùy chọn, được định nghĩa bằng <input type="checkbox">
Ví dụ:
<form> Các ứng dụng bạn đã sử dụng: <input type="checkbox" name="app" value="jd">JD <input type="checkbox" name="app" value="wechat">WeChat <input type="checkbox" name="app" value="qq">QQ <input type="checkbox" name="app" value="douyin">TikTok</form>Hiệu ứng:

[!Tóm tắt]
- Thuộc tính
checkeddùng để chỉ định hộp kiểm có được chọn mặc định hay không.
Danh sách thả xuống (select)
Danh sách thả xuống cho phép người dùng chọn một tùy chọn từ nhiều lựa chọn. Nó được tạo bằng phần tử <select> và sử dụng phần tử <option> để định nghĩa các tùy chọn.
Ví dụ:
<form action=""> Vui lòng chọn quốc gia của bạn: <select name="country"> <option value="china">Trung Quốc</option> <option value="us">Hoa Kỳ</option> <option value="japan">Nhật Bản</option> </select></form>Hiệu ứng:

[!Tóm tắt]
- Thuộc tính
selecteddùng để chỉ định tùy chọn mặc định trong danh sách thả xuống.- Thuộc tính
disableddùng để chỉ định danh sách thả xuống có khả dụng hay không.- Bạn có thể sử dụng thuộc tính
sizeđể chỉ định số lượng tùy chọn hiển thị trong danh sách thả xuống.
Nút gửi (Submit, Reset, Button)
Biểu mẫu thường cần một nút để gửi hoặc xác nhận đầu vào của người dùng. submit, reset và button đều là các phần tử nút biểu mẫu trong HTML.
| Loại | Thuộc tính | Chức năng | Trường hợp sử dụng |
|---|---|---|---|
| submit | type="submit" | Gửi dữ liệu biểu mẫu | Gửi biểu mẫu đăng nhập, gửi biểu mẫu đăng ký, v.v. |
| reset | type="reset" | Đặt lại dữ liệu biểu mẫu | Đặt lại biểu mẫu tìm kiếm, đặt lại giỏ hàng, v.v. |
| button | type="button" | Không có | Thường được sử dụng với JavaScript để thực hiện thao tác, điều hướng trang, v.v. |
| image | type="image" | Sử dụng hình ảnh làm nút | Thực hiện thao tác, điều hướng trang, v.v. |
Ví dụ:
<form action="/submit" method="post"> <input type="submit" value="Nút gửi"> <input type="reset" value="Nút đặt lại"> <button type="button" value="Nút xác nhận">Nút xác nhận</button> <input type="image" src="[zhaojian-avatar.png (1332×1332)](https://www.zhaojian.net/images/zhaojian-avatar.png)" alt="Nút hình ảnh" width="50" height="50"></form>Hiệu ứng:

[!Tóm tắt]
- post: Đề cập đến phương thức HTTP POST, dữ liệu biểu mẫu được bao gồm trong phần thân biểu mẫu rồi gửi đến máy chủ, được sử dụng để gửi dữ liệu nhạy cảm như tên người dùng và mật khẩu.
- get: Giá trị mặc định, đề cập đến phương thức HTTP GET, dữ liệu biểu mẫu được thêm vào URL trong thuộc tính action với ? làm dấu phân cách, thường được sử dụng cho thông tin không nhạy cảm như phân trang. Ví dụ: https://www.zhaojian.net/?page=1, trong đó page=1 là dữ liệu được gửi qua phương thức get.
Các phần tử và thuộc tính biểu mẫu
| Phần tử | Loại | Mô tả | Thuộc tính |
|---|---|---|---|
form | Biểu mẫu | Phần tử chứa biểu mẫu. Nó chỉ định tên biểu mẫu, phương thức gửi và địa chỉ gửi. | name, action, method, enctype, accept-charset, target, autocomplete, novalidate |
input | Nhập liệu | Phần tử được sử dụng phổ biến nhất trong biểu mẫu. Nó có thể nhận các loại đầu vào người dùng khác nhau như văn bản, số, ngày tháng, v.v. | type, name, value, placeholder, disabled, readonly, autocomplete, required, pattern, min, max, step |
textarea | Nhập liệu | Dùng để nhận đầu vào nhiều dòng từ người dùng. | name, cols, rows |
select | Lựa chọn | Dùng để nhận lựa chọn của người dùng, có thể chứa nhiều tùy chọn. | name, multiple, size |
option | Lựa chọn | Dùng trong phần tử select để định nghĩa các tùy chọn có thể chọn. | value, selected |
radio | Lựa chọn | Dùng để nhận đầu vào lựa chọn đơn từ người dùng. Có thể chứa nhiều nút radio. | name, value, checked |
checkbox | Lựa chọn | Dùng để nhận đầu vào nhiều lựa chọn từ người dùng. Có thể chứa nhiều hộp kiểm. | name, value, checked |
submit | Nút | Dùng để gửi biểu mẫu. | value |
reset | Nút | Dùng để đặt lại biểu mẫu. | value |
button | Nút | Dùng để tạo nút. Có thể dùng để gửi biểu mẫu, đặt lại biểu mẫu hoặc thực hiện các thao tác khác. | type, name, value |
label | Nhãn | Dùng để cung cấp nhãn cho phần tử nhập liệu. Nhãn giúp người dùng hiểu mục đích của phần tử nhập liệu. | for |
fieldset | Nhóm | Dùng để nhóm các phần tử biểu mẫu. | name, legend |
legend | Tiêu đề | Dùng để cung cấp tiêu đề cho phần tử fieldset. | |
optgroup | Nhóm | Dùng để nhóm các tùy chọn. | label |