NTM Solutions

Thứ Năm, 23 tháng 7, 2026

🎯Web Layout 2026 - Phần 1 # Bài 02 — Form Enterprise: Xây dựng Biểu mẫu Chuyên nghiệp với HTML5

Một website doanh nghiệp có thể thiếu hiệu ứng đẹp, nhưng gần như không thể thiếu Form.

Từ trang liên hệ, đăng nhập, đăng ký, tìm kiếm, đặt hàng, gửi yêu cầu báo giá đến hệ thống CRM hay ERP, tất cả đều hoạt động thông qua biểu mẫu.

HTML5 đã bổ sung rất nhiều tính năng giúp Form trở nên thông minh hơn, giảm lượng JavaScript phải viết và mang lại trải nghiệm tốt hơn cho người dùng.


🎯 Mục tiêu bài học

Sau bài này bạn sẽ:

  • Hiểu cấu trúc chuẩn của một Form HTML5.

  • Biết sử dụng các loại input hiện đại.

  • Áp dụng các thuộc tính kiểm tra dữ liệu.

  • Tạo Form thân thiện với người dùng.

  • Chuẩn bị nền tảng để tích hợp PHP, Laravel hoặc Node.js.


Form là gì?

Form là nơi người dùng nhập dữ liệu và gửi về máy chủ.

Ví dụ:

  • Đăng nhập

  • Đăng ký

  • Liên hệ

  • Thanh toán

  • Đặt lịch

  • Gửi CV

  • Tìm kiếm


Cấu trúc cơ bản

<form action="/login" method="post">

    <label>Email</label>
    <input type="email">

    <label>Password</label>
    <input type="password">

    <button type="submit">
        Đăng nhập
    </button>

</form>

Form luôn bắt đầu bằng thẻ:

<form>

và kết thúc bằng:

</form>

Hai thuộc tính quan trọng

action

Là địa chỉ sẽ nhận dữ liệu.

Ví dụ:

<form action="/contact">

hoặc

<form action="save.php">

method

Có hai giá trị phổ biến.

GET

<form method="get">

Dữ liệu xuất hiện trên URL.

Ví dụ

/search?q=html

Phù hợp cho:

  • tìm kiếm

  • lọc dữ liệu

  • phân trang


POST

<form method="post">

Dữ liệu gửi trong phần thân của request.

Phù hợp cho:

  • đăng nhập

  • đăng ký

  • thanh toán

  • cập nhật dữ liệu

  • upload file


Label

Luôn nên sử dụng label.

Ví dụ:

<label>Email</label>

<input type="email">

Hoặc tốt hơn:

<label for="email">
    Email
</label>

<input
    id="email"
    type="email">

Khi nhấn vào chữ Email, con trỏ sẽ tự động chuyển vào ô nhập liệu.


Các loại Input quan trọng

Text

<input type="text">

Dùng nhập:

  • họ tên

  • địa chỉ

  • tên công ty


Email

<input type="email">

HTML5 tự kiểm tra định dạng email.


Password

<input type="password">

Ẩn ký tự khi nhập.


Number

<input type="number">

Chỉ cho phép nhập số.


Date

<input type="date">

Hiển thị lịch chọn ngày.


Time

<input type="time">

Tel

<input type="tel">

Nhập số điện thoại.


URL

<input type="url">

Kiểm tra định dạng website.


Search

<input type="search">

Dùng cho ô tìm kiếm.


File

<input type="file">

Cho phép tải tệp lên.


Placeholder

<input
type="text"
placeholder="Nhập họ tên">

Placeholder chỉ mang tính gợi ý.

Không thay thế Label.


Required

Bắt buộc nhập.

<input
type="email"
required>

Nếu bỏ trống, trình duyệt sẽ không cho gửi Form.


Minlength

<input
type="text"
minlength="6">

Ít nhất 6 ký tự.


Maxlength

<input
maxlength="50">

Giới hạn số ký tự.


Min và Max

<input
type="number"
min="18"
max="65">

Pattern

Cho phép kiểm tra bằng biểu thức chính quy.

Ví dụ:

<input
pattern="[A-Za-z]{5,20}">

Chỉ chấp nhận chữ cái.


Readonly

<input
readonly>

Có thể xem nhưng không sửa.


Disabled

<input
disabled>

Không thể thao tác.

Giá trị cũng sẽ không được gửi lên máy chủ.


Autofocus

<input
autofocus>

Con trỏ tự động đứng tại ô này khi mở trang.


Autocomplete

<input
autocomplete="email">

Giúp trình duyệt gợi ý dữ liệu đã lưu.


Checkbox

<input type="checkbox">

Có thể chọn nhiều.

Ví dụ:

  • HTML

  • CSS

  • JavaScript


Radio

<input
type="radio"
name="gender">

Chỉ chọn một.

Ví dụ:

  • Nam

  • Nữ

  • Khác


Select

<select>

<option>Việt Nam</option>

<option>Hoa Kỳ</option>

<option>Nhật Bản</option>

</select>

Danh sách lựa chọn.


Textarea

<textarea
rows="5">
</textarea>

Dùng nhập nội dung dài.


Button

<button
type="submit">

Gửi

</button>

Reset

<button
type="reset">

Làm lại

</button>

Xóa dữ liệu đã nhập.


Ví dụ Form doanh nghiệp

<form action="/contact" method="post">

    <label for="name">Họ và tên</label>
    <input
        id="name"
        type="text"
        required>

    <label for="email">Email</label>
    <input
        id="email"
        type="email"
        required>

    <label for="phone">Số điện thoại</label>
    <input
        id="phone"
        type="tel">

    <label for="message">Nội dung</label>

    <textarea
        id="message"
        rows="5">
    </textarea>

    <button type="submit">
        Gửi liên hệ
    </button>

</form>

Đây là cấu trúc phù hợp cho hầu hết website doanh nghiệp.


Những lỗi thường gặp

❌ Không dùng label.

❌ Chỉ dùng placeholder thay cho label.

❌ Dùng method="get" cho đăng nhập.

❌ Không kiểm tra dữ liệu bằng required.

❌ Không đặt type phù hợp cho từng trường.

❌ Không liên kết label với input bằng thuộc tính forid.

❌ Quên thêm name cho các trường, khiến dữ liệu không được gửi lên máy chủ.


Thực hành

Tạo một Form Đăng ký khóa học gồm:

  • Họ và tên

  • Email

  • Số điện thoại

  • Ngày sinh

  • Giới tính

  • Khóa học muốn đăng ký

  • Nội dung ghi chú

  • Nút Đăng ký

  • Nút Làm lại

Yêu cầu:

  • Sử dụng Semantic HTML.

  • Mỗi trường đều có label.

  • Áp dụng required cho các trường quan trọng.

  • Chọn đúng type cho từng ô nhập liệu.


Tổng kết

Form là cầu nối giữa người dùng và hệ thống. Một biểu mẫu được xây dựng đúng chuẩn HTML5 không chỉ giúp nhập liệu nhanh hơn mà còn giảm lỗi, cải thiện trải nghiệm người dùng và tạo nền tảng vững chắc để tích hợp với PHP, Laravel, Node.js hay bất kỳ công nghệ backend nào.

Trong các bài tiếp theo, chúng ta sẽ tiếp tục tối ưu cấu trúc HTML để website thân thiện hơn với công cụ tìm kiếm và sẵn sàng cho các dự án thực tế.


📌 Kiến thức đạt được

  • ✅ Hiểu cấu trúc của thẻ form.

  • ✅ Phân biệt GETPOST.

  • ✅ Sử dụng các loại input phổ biến trong HTML5.

  • ✅ Áp dụng các thuộc tính kiểm tra dữ liệu như required, minlength, maxlength, pattern.

  • ✅ Biết cách tạo Form theo chuẩn Enterprise.

  • ✅ Nắm được các lỗi phổ biến khi xây dựng biểu mẫu.

➡️ Bài tiếp theo: Bài 03 — SEO Friendly HTML: Xây dựng HTML thân thiện với công cụ tìm kiếm.

Không có nhận xét nào:

Đăng nhận xét

Facebook Youtube RSS