Khóa học javascript

Hàm tương tác với người dùng alert, confirm, prompt

0 phút đọc

Trong bài viết về chương trình JavaScript đầu tiên, mình có đề cập đến việc hiển thị hộp thoại với hàm alert. Đây là một trong ba hàm giúp tương tác người dùng mà mình sẽ tìm hiểu kỹ hơn trong bài viết này.

Tương tác người dùng với hàm alert

Hàm alert dùng để hiển thị hộp thoại, bao gồm nội dung tin nhắn và nút bấm (button) OK. Khi người dùng bấm vào OK thì hộp thoại sẽ đóng lại.

Cú pháp:

js Copy
alert(message);
js Copy
alert("Say hello from kungfutech.edu.vn");

Kết quả:

Hàm alert trong javascript

Hộp thoại này còn được gọi là "modal window". Nghĩa là người dùng chỉ tương tác được với hộp thoạikhông tương tác được với nội dung còn lại của trang web (bên dưới hộp thoại).

Tương tác người dùng với hàm confirm

Tương tự như hàm alert, hàm confirm cũng đưa ra một thông báo trực tiếp tới người dùng.

Tuy nhiên, hàm confirm yêu cầu người dùng xác nhận bằng cách chọn OK hoặc Cancel.

  • Nếu người dùng chọn OK thì hàm confirm trả về true.
  • Ngược lại, nếu người dùng chọn Cancel thì kết quả trả về là false.

Cú pháp:

js Copy
result = confirm(message);

Ví dụ:

js Copy
const result = confirm("Bạn muốn tiếp tục sử dụng chương trình?");
alert(result);

// result = true nếu người dùng bấm OK.
// result = false nếu người dùng bấm Cancel.

Kết quả:

Hàm confirm trong javascript

Tương tự như hàm alert, hộp thoại với hàm confirm cũng là dạng "modal window".

Tương tác người dùng với hàm prompt

Hàm prompt cũng lại tương tự như hàm confirm và hàm alert nhưng cho phép người dùng nhập vào string.

Cú pháp:

js Copy
result = prompt(title, [defaultValue]);

Trong đó:

  • title: nội dung chữ hiển thị tới người dùng.
  • defaultValue: giá trị mặc định cho ô nhập (input) và đây là giá trị không bắt buộc.

Ví dụ:

js Copy
const name = prompt("Nhập vào tên của bạn:", "Anonymous");
alert(name);

Kết quả:

Hàm prompt trong javascript

Trong ví dụ trên:

  • Giá trị titleNhập vào tên của bạn:.
  • Giá trị defaultValueAnonymous.

Khi người dùng nhấn vào OK hoặc Cancel thì hộp thoại sẽ đóng lại. Với trường hợp OK, giá trị trả về là giá trị trong ô nhập input lúc đó. Với trường hợp Cancel thì giá trị trả về là null.

Tổng kết

Trên đây mình đã giới thiệu với bạn về ba hàm tương tác người dùng:

  • Hàm alert: hiển thị hộp thoại với dòng chữ.
  • Hàm confirm: hiển thị hộp thoại với dòng chữ và yêu cầu người dùng nhấn vào OK hoặc Cancel.
    • Nếu người dùng nhấn vào OK thì hộp thoại đóng lại và trả về giá trị true.
    • Nếu người dùng nhấn vào Cancel, hộp thoại cũng đóng lại, nhưng trả về giá trị false.
  • Hàm prompt: hiển thị hộp thoại với dòng chữ và yêu cầu người dùng nhập nội dung vào ô nhập (input). Sau đó, yêu cầu người dùng nhấn vào OK hoặc Cancel.
    • Nếu người dùng nhấn vào OK thì hộp thoại đóng lại và trả về giá trị hiện tại của ô nhập.
    • Nếu người dùng nhấn vào Cancel, hộp thoại cũng đóng lại, nhưng trả về giá trị null.

Cả ba hàm trên đều hiển thị hộp thoại dạng "modal window". Nghĩa là người dùng chỉ tương tác được với hộp thoại mà không tương tác được với nội dung bên dưới hộp thoại.

Bạn có thể thấy rằng, ba hàm trên đều rất đơn giản, dễ sử dụng. Nhưng nhược điểm của chúng là: bạn không thể quyết định được giao diện hiển thị của hộp thoại. Mà giao diện hộp thoại hoàn toàn phụ thuộc vào trình duyệt.

Thực hành

Tạo một trang web đơn giản với chức năng là hỏi người dùng bao nhiêu tuổi "How old are you?", với giá trị mặc định là 18.

Sau đó, hiển thị nội dung tương ứng với giá trị người dùng nhập vào "You are X years old!" (với X là giá trị người dùng đã nhập).

Xem đáp án

html Copy
<html>
  <body>
    <script>
      const age = prompt("How old are you!", 18);
      alert("You are " + age + " years old!");
    </script>
  </body>
</html>
Avatar
Được viết bởi

Admin Team

Gợi ý câu hỏi phỏng vấn

Không có dữ liệu

Không có dữ liệu

Gợi ý bài viết
Không có dữ liệu

Không có dữ liệu

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào