Ngữ cảnh: Gửi góp ý cải tiến dịch vụ tại một quán cà phê
Yêu cầu
- Biểu mẫu có 6 trường thuộc 6 loại input khác nhau: email, lựa chọn (radio), lựa chọn (select), thanh trượt (range), vùng nhập nhiều dòng (textarea), văn bản (text).
- Bắt sự kiện submit trên thẻ form (không phải click trên nút), dùng preventDefault để chặn tải lại trang.
- Đọc toàn bộ giá trị các trường bằng thuộc tính .value (hoặc duyệt input được chọn với radio/checkbox).
- Hiển thị lại toàn bộ thông tin vừa gửi ra khu xác nhận trên trang.
- Kiểm tra 3 điều kiện hợp lệ, mỗi điều kiện có thông báo lỗi riêng hiển thị ngay tại chỗ:
- - Họ và tên không được để trống.
- - Email không đúng định dạng.
- - Nội dung góp ý cần ít nhất 10 ký tự.
- Sau khi gửi thành công phải xoá trắng form và giữ nguyên trang, không được tải lại.
- Nộp kèm mô tả quy trình xử lý form theo đúng các bước trong Form Workflow (xem comment đầu file JS trong đáp án).
Minh hoạ giao diện đáp án
Ràng buộc cấu trúc riêng cho mã đề F
Khối details/summary: Dùng details/summary để trình bày một ghi chú mở rộng liên quan đến mã đề. Không thay ràng buộc này bằng cấu trúc của mã đề khác.