form gom các phần nhập liệu
Biểu mẫu web giúp người dùng cung cấp thông tin, như nội dung tìm kiếm hoặc lựa chọn một nhóm sinh hoạt. Phần tử `form` chứa các trường nhập, lựa chọn và nút của biểu mẫu.
HTML tạo phần hiển thị để nhập và gửi thông tin. Việc tính toán, kiểm tra, lưu hoặc phản hồi cần thành phần xử lí phù hợp, có thể tại trang hoặc phía máy chủ. Tạo một nút Gửi chưa tự tạo được chức năng đăng kí hay lưu vào cơ sở dữ liệu.
Viết các phần tử của một biểu mẫu giữa cặp thẻ form. Không lồng một form vào trong form khác.
Nối nhãn và ô nhập bằng for, id
```html
<label for="ten-mon">Tên món:</label>
<input id="ten-mon" name="mon" type="text">
```
for="ten-mon" trên label khớp id="ten-mon" của input. Chọn nhãn Tên món sẽ đưa sự tập trung tới ô nhập tương ứng. input là thẻ đơn; label có thẻ mở và đóng.
id nhận diện phần tử trong trang và cần duy nhất. name="mon" đặt tên trường dùng khi gửi theo cơ chế biểu mẫu thông thường. type="text" chọn ô nhập văn bản. Ba vai trò khác nhau, dù có thể chọn các giá trị tên giống nhau.
Hiện được chưa có nghĩa là gửi đủ
Một input có id nhưng thiếu name vẫn có thể hiện và nhận chữ. Tuy nhiên giá trị của ô ấy không được đưa vào dữ liệu gửi theo cơ chế form thông thường. Muốn gửi trường, cần name phù hợp cùng các điều kiện gửi của phần tử.
Trong mẫu, nhập “Bánh mẫu” vào ô tên món tạo giá trị của trường mon. Không dùng id thay cho name hoặc lặp một id cho nhiều ô chỉ vì chúng cùng nhóm.
Bài luyện
Trong ví dụ, label liên kết với input nhờ cặp nào?
Đúng. for tham chiếu id của ô.
name là tên dữ liệu, không phải giá trị for đang tham chiếu.
Hai thuộc tính này không nối nhãn với ô.
Màu không tạo quan hệ label–input.
Lời giải
for của label chứa mã định danh ten-mon. input có id ten-mon, nên nhãn được gắn với đúng ô. name mon dùng trong dữ liệu gửi, còn type text chọn loại ô.
Bài luyện
Ô text có id nhưng không có name. Theo cơ chế gửi form thông thường, điều gì có thể xảy ra?
Thiếu name không tự ẩn ô.
id không tự thay name khi gửi.
Đúng. Hiển thị và tham gia dữ liệu gửi là hai việc khác nhau.
Ô text vẫn có thể nhận kí tự.
Lời giải
name xác định tên trường trong dữ liệu form. id chỉ nhận diện phần tử trong trang, nên ô vẫn hiển thị và nhập được nhưng giá trị không được gửi như một trường có tên.
Bài luyện
Chỉ tạo form và nút Gửi có tự làm dữ liệu được lưu vào cơ sở dữ liệu không?
HTML không tự tạo cơ sở dữ liệu từ form.
title không tạo nơi lưu dữ liệu.
input không mặc định tự lưu mọi lần gõ lên máy chủ.
Đúng. Giao diện và chức năng lưu có vai trò riêng.
Lời giải
form là phần nhập và gửi thông tin. Để lưu cần ứng dụng nhận, kiểm tra và ghi dữ liệu; HTML và nút Gửi chưa đủ để chứng minh đã có các bước ấy.
Đang học