Tiếp tục với Bài 29 – Xử lý sự kiện bàn phím và form trong JavaScript. Đây là phần quan trọng giúp bạn tương tác với người dùng khi họ nhập liệu vào form, nhấn phím, hoặc gửi dữ liệu.
1. Bắt sự kiện bàn phím (keydown, keyup, keypress)
document.addEventListener("keydown", function (e) {
console.log("Bạn nhấn phím:", e.key)
})
Sự kiện thường dùng:
keydown: khi nhấn phím xuốngkeyup: khi thả phím rakeypress: nhấn ký tự (cũ, nên hạn chế dùng)
2. Bắt sự kiện khi nhập trong input
<input type="text" id="username" placeholder="Nhập tên" />
let input = document.getElementById("username")
input.addEventListener("input", function () {
console.log("Đang gõ:", input.value)
})
3. Xử lý khi nhấn Enter
input.addEventListener("keydown", function (e) {
if (e.key === "Enter") {
alert("Bạn vừa nhấn Enter với tên: " + input.value)
}
})
4. Xử lý form khi nhấn Gửi (submit)
<form id="myForm">
<input type="text" id="email" />
<button type="submit">Gửi</button>
</form>
document.getElementById("myForm").addEventListener("submit", function (e) {
e.preventDefault() // Ngăn load lại trang
let email = document.getElementById("email").value
alert("Đã gửi: " + email)
})
5. Giao diện học (code + output)
| Hành động | Mã JavaScript |
|---|---|
| Bắt phím | keydown, keyup |
| Gõ input | addEventListener("input") |
| Nhấn Enter | e.key === "Enter" |
| Gửi form | form.addEventListener("submit") |
| Ngăn reload | e.preventDefault() |
Tóm tắt bài 29
Bạn đã học:
- Bắt phím với
keydown,keyup - Theo dõi input bằng
input.addEventListener("input") - Phát hiện nhấn
Enterđể xử lý nhanh - Gửi form bằng
submit, chặn reload vớipreventDefault() - Lấy dữ liệu từ các input để xử lý logic
Bài tập
- Tạo 1 input → khi nhấn Enter thì in ra tên vừa nhập
- Tạo form có ô email → bấm Gửi thì hiện alert chứa email đó
- Tạo input + ô hiển thị realtime nội dung đang gõ
- Bắt sự kiện
keydown→ in ra tên phím vừa nhấn

Thảo luận