Đăng nhậpDùng miễn phí

Tin học 12 · Chủ đề 4. Giải quyết vấn đề với sự trợ giúp của máy tính

Bài 12. Tạo biểu mẫu

Biểu mẫu trên trang web giúp người dùng nhập thông tin (đăng kí, đăng nhập, khảo sát…) và gửi đi để xử lí. Bài học giới thiệu thẻ form và các điều khiển nhập dữ liệu trong HTML.

Nhớ nhanh

1. Biểu mẫu là gì?

Định nghĩa

Biểu mẫu (form) là thành phần của trang web chứa các điều khiển (ô nhập văn bản, nút chọn, hộp kiểm, danh sách chọn, nút bấm…) để người dùng nhập dữ liệu và gửi dữ liệu đó đến máy chủ hoặc chương trình xử lí.

Biểu mẫu được tạo bởi cặp thẻ <form>…</form>, các điều khiển đặt bên trong:

<form action="xu-ly.php" method="post">
  ... cac dieu khien nhap du lieu ...
</form>

2. Các điều khiển thường dùng

2.1 Thẻ input

Thẻ <input> là thẻ rỗng; thuộc tính type quyết định kiểu điều khiển:

Giá trị typeĐiều khiển tạo ra
textÔ nhập một dòng văn bản.
passwordÔ nhập mật khẩu, kí tự gõ vào bị che.
email, number, dateÔ nhập thư điện tử, số, ngày; trình duyệt kiểm tra định dạng.
radioNút chọn: trong các nút cùng name, chỉ chọn được một.
checkboxHộp kiểm: có thể chọn nhiều hộp cùng lúc.
submitNút gửi dữ liệu của biểu mẫu.
resetNút đưa các ô về giá trị ban đầu.

Một số thuộc tính quan trọng của các điều khiển:

2.2 Nhãn, danh sách chọn, vùng văn bản, nút

3. Ví dụ minh hoạ

Ví dụ 1

Viết biểu mẫu đăng kí câu lạc bộ gồm: họ tên (bắt buộc), giới tính (chọn một), môn yêu thích (chọn nhiều), khối lớp (danh sách chọn), ý kiến (nhiều dòng) và nút Gửi.

Lời giải · 2 bước
<form action="dang-ky.php" method="post">
  <label for="ten">Ho ten:</label>
  <input type="text" id="ten" name="hoten" required>
  <br>
  Gioi tinh:
  <input type="radio" name="gt" value="nam"> Nam
  <input type="radio" name="gt" value="nu"> Nu
  <br>
  Mon yeu thich:
  <input type="checkbox" name="mon" value="tin"> Tin
  <input type="checkbox" name="mon" value="toan"> Toan
  <br>
  <label for="khoi">Khoi:</label>
  <select id="khoi" name="khoi">
    <option value="10">Lop 10</option>
    <option value="11">Lop 11</option>
    <option value="12">Lop 12</option>
  </select>
  <br>
  <textarea name="ykien" rows="3" cols="30"></textarea>
  <br>
  <input type="submit" value="Gui">
</form>
Bước 2

Hai nút radio có cùng name="gt" nên chỉ chọn được một; các hộp checkbox chọn được nhiều. Thuộc tính for của nhãn trùng với id của ô nhập. Nhấn Gui thì dữ liệu được gửi tới dang-ky.php theo phương thức post.

4. Lưu ý và lỗi hay gặp

Lưu ý
  • Các nút radio cùng nhóm phải có cùng name; đặt name khác nhau thì chọn được nhiều nút cùng lúc.
  • Quên name thì dữ liệu của điều khiển đó không được gửi đi.
  • for của <label> phải khớp với id (không phải name) của điều khiển.
  • <input> là thẻ rỗng; <textarea>, <select>, <button> phải có thẻ đóng.
  • Không dùng method="get" cho mật khẩu vì dữ liệu hiện trên thanh địa chỉ.

5. Câu hỏi ôn tập

Câu hỏi 1

Nêu ý nghĩa hai thuộc tính action và method của thẻ <form>.

Gợi ý trả lời

action cho biết nơi nhận và xử lí dữ liệu; method cho biết cách gửi (get hoặc post).

Câu hỏi 2

Phân biệt type="radio" và type="checkbox".

Gợi ý trả lời

radio: trong nhóm cùng name chỉ chọn một; checkbox: chọn được nhiều hoặc không chọn.

Câu hỏi 3

Viết điều khiển nhập mật khẩu bắt buộc, có tên matkhau.

Gợi ý trả lời

<input type="password" name="matkhau" required>

Câu hỏi 4

Muốn người dùng viết nhận xét dài nhiều dòng thì dùng điều khiển nào?

Gợi ý trả lời

Dùng <textarea>…</textarea>, có thể đặt rows, cols.

Gặp bài khó? Chụp ảnh để CEAO giảiAI giải từng bước, đề kiểm tra theo bài, thẻ ghi nhớ. Đăng ký miễn phí.
Thử ngay