Hôm nay chúng ta sẽ làm quen với khái niệm Biến (Variable) - "chiếc hộp phép thuật" lưu giữ thông tin, cùng cách tạo ô nhập dữ liệu tương tác để trò chuyện với người dùng.
let, const.<input type="text"> và thẻ <label> để nhận dữ liệu từ người dùng.margin và padding để căn chỉnh khoảng cách các khối.+ để nối các đoạn văn bản."Trong cuộc sống, để cất giữ một món đồ chơi hay một cuốn sách, các em sẽ dùng một chiếc hộp và dán nhãn ghi tên bên ngoài chiếc hộp đó để khi cần tìm là thấy ngay.
Trong lập trình cũng vậy! Máy tính cần nhớ tên của em, điểm số của em hay số kẹo em có. Để làm điều đó, JavaScript cung cấp cho chúng ta một chiếc hộp lưu trữ gọi là **Biến (Variable)**. Ta chỉ cần đặt tên cho chiếc hộp và cất dữ liệu vào bên trong!"
Giáo viên hướng dẫn cách khai báo biến bằng từ khóa let (biến có thể thay đổi dữ liệu bên trong) hoặc const (hằng số giữ nguyên không thay đổi):
let tenHocSinh = 'Sóc Candy'; // Hộp chứa chữ
const soKẹoBanDau = 10; // Hộp chứa số không đổi
Để trang web có thể hỏi tên người dùng, chúng ta cần tạo một ô nhập văn bản trống bằng HTML và gán nhãn hướng dẫn bên cạnh.
Trong Scratch, các em dùng khối cảm biến để hỏi và nhận câu trả lời:
💬 Hỏi "Tên bạn là gì?" và đợi -> Lưu kết quả vào khối [trả lời] (answer)
Trong HTML/JS, chúng ta thiết lập ô nhập và nhãn nhãn như sau:
<label>Nhập tên của em:</label>
<input type="text" id="ten_nhap" placeholder="Gõ chữ ở đây...">
Để lấy dữ liệu mà học sinh đã gõ vào ô nhập trong JavaScript, ta có thể gọi trực tiếp tên ID của ô nhập đó kèm theo thuộc tính .value:
let ten = ten_nhap.value; // lấy giá trị của ô nhập (tương đương khối trả lời trong Scratch)
Khi đã có tên người dùng lưu trữ trong biến hoặc lấy trực tiếp từ ô nhập, làm thế nào để ghép nó thành câu chào? Ta sử dụng ký tự cộng + để nối các chuỗi văn bản lại với nhau.
Nếu biến let ten = 'Candy';, thì câu lệnh 'Chào bạn ' + ten sẽ ghép thành 'Chào bạn Candy'.
Cú pháp nút bấm gửi lời chào:
<button onclick="let name = ten_nhap.value; alert('Chào mừng ' + name + '! 🚀')">Gửi lời chào</button>
Khi đặt ô nhập văn bản và nút bấm cạnh nhau, chúng thường bị dính liền rất chật chội. Chúng ta sẽ dùng CSS để tạo khoảng cách giúp trang web trông thoáng đãng, dễ nhìn hơn.
.o-nhap {
padding: 10px; /* Làm ô nhập to hơn, dễ gõ */
margin: 10px; /* Đẩy các thẻ xung quanh ra xa */
}
Mục tiêu: Tạo trang web cho phép người dùng nhập tên vào ô văn bản, sau đó bấm nút để hiển thị hộp thoại alert chào mừng tùy biến chứa tên của chính họ.
bai13-1 trên ổ Z, tạo file index.html, style.css và thư mục assets.index.html, thiết lập tiêu đề <h1>: MÁY TẠO LỜI CHÀO CANDY.<label>: Hãy nhập tên của em: và thẻ <input type="text" id="ten_nhap" placeholder="Gõ tên ở đây...">.<button> có thuộc tính onclick="let name = ten_nhap.value; alert('Chào mừng bạn ' + name + ' đến với lớp học! 🚀')".style.css để định dạng:
padding: 10px; và margin: 5px; cho ô nhập và nút bấm.border-radius: 8px; cho các phần tử.cursor: pointer; khi di qua nút bấm.