Tin học 12 – Bài 12. Tạo biểu mẫu

1. Biểu mẫu web

Khái niệm

Biểu mẫu web hay phần tử form của HTML là một công cụ dùng để thu thập dữ liệu. Dữ liệu được người dùng nhập vào biểu mẫu (form) và xử lí tại chỗ hoặc gửi về máy chủ.

Cấu trúc chung của một biểu mẫu web:

<form>
các phần tử của biểu mẫu
</form>

Các phần tử thường dùng trong biểu mẫu:

input: Xác định vùng nhập dữ liệu. Cú pháp như sau:

<input id="mã_định_danh" type="loại_input" name="tên_input">

label: Định nghĩa nhãn cho vùng nhập dữ liệu. Cú pháp:

<label for="mã_định_danh_của_input_tương_ứng">Tên_nhãn</label>

select: Tạo danh sách lựa chọn. Cú pháp của phần tử select:

<select id="mã_định_danh" name="tên_select">
    <option value="giá_trị">giá_trị_lựa_chọn</option>
</select>

Ví dụ sử dụng phần tử select tạo một danh sách chọn gồm có 3 lựa chọn như sau:

<form>
    <label for="monhoc">Chọn môn học:</label>
    <select id="monhoc" name="monhoc">
      <option value="toan">Toán</option>
      <option value="ly">Lý</option>
      <option value="hoa">Hóa</option>
      <option value="sinh">Sinh</option>
      <option value="van">Văn</option>
      <option value="anh">Anh</option>
    </select>
  </form>
Tin học 12 Bài 12 Các phần tử thường dùng trong biểu mẫu

textarea: Xác định vùng nhập văn bản nhiều dòng. Cách sử dụng:

<textarea id="mã_định_danh" name="tên_textarea" rows="số_dòng" cols="số_cột">
    Nội_dung
</textarea>

Ngoài ra còn có các phần tử như:

  • fieldset: Nhóm các phần tử liên quan.
  • legend: Thêm tiêu đề cho nhóm các phần tử.

Một số loại dữ liệu (type) thông dụng của phần tử input

TypeÝ nghĩa
type="text"Tạo trường nhập văn bản
type="password"Tạo trường nhập mật khẩu
type="radio" value="Nam"Tạo ô chọn 1 giá trị duy nhất
type="checkbox" value="Toán"Tạo ô chọn nhiều giá trị
type="button" value="Nút"Tạo nút bấm
type="file"Tạo nút chọn tệp tin
type="submit" value="Gửi thông tin"Tạo nút gửi thông tin

Câu hỏi củng cố kiến thức

Điểm khác biệt của radio, checkbox và select là gì?

Radio và checkbox là hai kiểu trong phần tử input còn select là một phần tử select. Nếu số lượng lựa chọn không quá nhiều thường dùng radio, và nếu số lượng lớn hơn thì dùng select. Checkbox dùng để chọn nhiều giá trị mỗi giá trị có dạng có chọn hoặc không chọn

Viết câu lệnh để thêm một nút có tên Quên mật khẩu vào biểu mẫu.

Có thể sử dụng một trong hai câu lệnh:
<input type="button" value="Quên mật khẩu">
hoặc
<button>Quên mật khẩu</button>


2. Thực hành tạo biểu mẫu

Nhiệm vụ 1: Tạo biểu mẫu nhập thông tin món ăn

Yêu cầu: Tạo biểu mẫu nhập thông tin các món ăn.

Tin học 12 Bài 12 Nhiệm vụ 1 Tạo biểu mẫu nhập thông tin món ăn

Hướng dẫn:

  1. Tạo tiêu đề cho biểu mẫu: <h2>Thông tin món ăn</h2>
  2. Tạo biểu mẫu: <form></form>
  3. Tạo các cặp labelinput cho các thông tin: Tên món ăn, Đơn giá, Số lượng.

Sử dụng công cụ viết code online để viết: https://otth.vn/codeweb/


Code hoàn chỉnh:

<!DOCTYPE html>
<html>
<head>
  <title>Thông tin món ăn</title>
</head>
<body>
  <h2>Thông tin món ăn</h2>
  <form>
    <label for="tenmonan">Tên món ăn:</label>
    <input type="text" id="tenmonan" name="tenmonan"><br><br>
    <label for="dongia">Đơn giá:</label>
    <input type="text" id="dongia" name="dongia"><br><br>
    <label for="soluong">Số lượng:</label>
    <input type="text" id="soluong" name="soluong"><br><br>
  </form> 
</body>
</html>

Nhiệm vụ 2: Tạo biểu mẫu nhập thông tin đăng kí môn thi tốt nghiệp

Yêu cầu: Tạo biểu mẫu để nhập thông tin đăng kí môn thi tốt nghiệp.

Tin học 12 Bài 12 Nhiệm vụ 2 Tạo biểu mẫu nhập thông tin đăng kí môn thi tốt nghiệp

Hướng dẫn:

  1. Xác định thông tin cần cung cấp:
    • Họ và tên: type="text"
    • Số căn cước công dân: type="number"
    • Ngày sinh: type="date"
    • Giới tính: type="radio"
    • Các môn thi: type="checkbox"
    • Tổ hợp môn: type="radio"
    • Nút gửi: type="submit"
  2. Thêm các phần tử vào biểu mẫu.
  3. Bổ sung tiêu đề và nhóm các thông tin.

Code hoàn chỉnh: (để được kết quả như hình 12.3 SGK)

<!DOCTYPE html>
<html>
<head>
  <title>Đăng kí môn thi tốt nghiệp</title>
</head>
<body>
  <h2>Đăng kí môn thi tốt nghiệp</h2>
  <form>
    <label for="hoten">Họ và tên:</label>
    <input type="text" id="hoten" name="hoten"><br><br>
    <label for="cccd">CCCD:</label>
    <input type="number" id="cccd" name="cccd"><br><br>
    <label for="ngaysinh">Ngày sinh:</label>
    <input type="date" id="ngaysinh" name="ngaysinh"><br><br>
    <label>Giới tính:</label>
    <input type="radio" id="nam" name="gioitinh" value="Nam">
    <label for="nam">Nam</label>
    <input type="radio" id="nu" name="gioitinh" value="Nữ">
    <label for="nu">Nữ</label><br><br>
    <label>Môn thi:</label><br>
    <input type="checkbox" id="toan" name="monthi" value="Toán">
    <label for="toan">Toán</label>
    <input type="checkbox" id="van" name="monthi" value="Văn">
    <label for="van">Văn</label>
    <input type="checkbox" id="ngoaingu" name="monthi" value="Ngoại ngữ">
    <label for="ngoaingu">Ngoại ngữ</label><br><br>
    <label for="tohop">Tổ hợp:</label>
    <select id="tohop" name="tohop">
      <option value="khtn">Khoa học tự nhiên</option>
      <option value="khxh">Khoa học xã hội</option>
    </select><br><br>
    <input type="submit" value="Gửi thông tin">
  </form>
</body>
</html>

Câu hỏi trắc nghiệm (dạng D1 và D2) Tin học 12 bài 12: tạo biểu mẫu

Thời gian làm bài: 30 phút
Đáp án chỉ hiển thị sau khi hoàn thành bài làm
Câu hỏi sẽ được hiển thị ngẫu nhiên
Vui lòng nhập họ và tên để bắt đầu làm bài

NB

Thẻ HTML nào được sử dụng để tạo một biểu mẫu web?

NB

Thuộc tính nào của thẻ <input> dùng để xác định loại dữ liệu mà người dùng sẽ nhập?

NB

Loại input nào tạo ra một trường nhập mật khẩu, che thông tin khi nhập?

NB

Loại input nào tạo ra một nút bấm mà khi nhấn sẽ gửi dữ liệu của biểu mẫu đến máy chủ?

NB

Thẻ HTML nào được sử dụng để tạo một nhãn cho một phần tử biểu mẫu?

TH

Thuộc tính for trong thẻ <label> dùng để làm gì?

TH

Phần tử HTML nào cho phép người dùng chọn một giá trị từ một danh sách thả xuống?

TH

Thuộc tính nào của thẻ <input> được sử dụng để tham chiếu đến dữ liệu đã nhập khi xử lý biểu mẫu?

TH

Phần tử HTML nào được sử dụng để tạo một vùng nhập văn bản nhiều dòng?

TH

Phần tử HTML nào dùng để nhóm các phần tử liên quan trong biểu mẫu, tạo một khung bao quanh chúng?

TH

Trong các loại input sau, loại nào cho phép người dùng chọn nhiều giá trị?

VD

Bạn muốn tạo một biểu mẫu cho phép người dùng tải lên một tệp tin. Loại input nào bạn nên sử dụng?

VD

Cho đoạn code sau: <input type="radio" name="gender" value="male"> Nam <input type="radio" name="gender" value="female"> Nữ. Điều gì xảy ra khi người dùng chọn "Nam"?

VD

Bạn muốn tạo một nút "Hủy" để xóa tất cả các thông tin đã nhập trong biểu mẫu. Loại input nào bạn nên sử dụng?

VD

Cho đoạn code sau: <select name="cars" id="cars"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> </select>. Giá trị nào sẽ được gửi đến máy chủ nếu người dùng chọn "Saab"?

NB

Ý nghĩa của thuộc tính value trong thẻ <input type="button"> là gì?

TH

Khi nào nên sử dụng phần tử <textarea> thay vì <input type="text">?

VD

Bạn muốn tạo một biểu mẫu yêu cầu người dùng nhập ngày tháng năm sinh. Loại input nào phù hợp nhất?

VD

Bạn muốn nhóm các thông tin cá nhân (tên, tuổi, địa chỉ) trong một biểu mẫu. Phần tử nào sẽ giúp bạn tạo một khung bao quanh nhóm thông tin này?

VD

Cho đoạn code sau: <label for="email">Email:</label> <input type="text" id="email" name="email">. Điều gì xảy ra khi người dùng nhấp vào nhãn "Email:"?

Một trang web bán hàng trực tuyến sử dụng biểu mẫu để thu thập thông tin khách hàng. Biểu mẫu này bao gồm các trường: Tên, Địa chỉ, Email và Số điện thoại.

NB Thẻ <form> là bắt buộc để tạo biểu mẫu trên trang web

NB Có thể sử dụng <input type="number"> cho trường Email

TH Thuộc tính `name` của các thẻ <input> dùng để xác định kiểu dữ liệu nhập vào

VD Có thể sử dụng phần tử <textarea> cho trường Địa chỉ để khách hàng nhập nhiều dòng

Một trang web tuyển dụng sử dụng biểu mẫu để ứng viên nộp hồ sơ. Ứng viên cần điền các thông tin: Họ tên, ngày sinh, kinh nghiệm làm việc và tải lên CV.

NB Có thể sử dụng <input type="file"> để tạo trường tải lên CV

TH Nên sử dụng <input type="text"> cho trường kinh nghiệm làm việc

TH Có thể nhóm các thông tin cá nhân (Họ tên, ngày sinh) bằng thẻ <fieldset>

VD Nút "Nộp hồ sơ" nên được tạo bằng <input type="button">

Bạn đang tạo một trang web khảo sát ý kiến khách hàng về sản phẩm mới. Bạn muốn thu thập các thông tin sau: Mức độ hài lòng (rất hài lòng, hài lòng, bình thường, không hài lòng), ý kiến đóng góp và đề xuất.

TH Nên sử dụng <input type="radio"> cho câu hỏi về mức độ hài lòng

TH Có thể sử dụng thuộc tính `placeholder` để hiển thị gợi ý trong trường nhập ý kiến đóng góp

VD Các nút radio để lựa chọn mức độ hài lòng cần có cùng thuộc tính `name`

VD Để tạo một biểu mẫu khảo sát, bạn bắt buộc phải sử dụng ngôn ngữ lập trình phía máy chủ

Một trang web đặt phòng khách sạn cho phép khách hàng chọn loại phòng (single, double, family), số lượng khách và ngày đến/đi.

NB Nên sử dụng <select> cho phép khách hàng chọn loại phòng

TH Có thể sử dụng <input type="number"> để khách hàng nhập số lượng khách

TH Nên sử dụng <input type="date"> để khách hàng chọn ngày đến và ngày đi

VD Các loại phòng (single, double, family) nên được tạo bằng <input type="radio">

Bảng xếp hạng

Hạng Họ tên Điểm số Thời gian
1
ly 1 lần thi
54/100
10 phút 4 giây
2
Ng dep hoc ngu 1 lần thi
33/100
53 giây
3
Mai Hạnh Dung 1 lần thi
23/100
2 phút 32 giây

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *