Inspired by this tweet by David Walsh:
Name a CSS or JavaScript API people don't use much but really, really should!
— David Walsh (@davidwalshblog) April 6, 2021
to which I replied “prompt()” as a joke, I got this idea of making a post about this super old API called prompt()
exposed by the browser’s window
object.
prompt()
lets us get input from the user.
This API dates back to the dawn of the Web, and is supported by every browser.
It’s very simple and I think it might come handy especially while prototyping an app, so you can just call a prompt()
and be done with it, without setting up a form.
Here’s how it works: you call prompt()
You pass a string that represents the question we ask to the user:
prompt("How old are you?")
This is how it looks in Chrome:
This is in Safari:
This is in Firefox:
As you can see, it’s different but the concept is the same
You should call
window.prompt()
, but sincewindow
is implicit,prompt()
works
The browser blocks the script execution until the user enters something and clicks any of the OK or Cancel button. You can’t escape from that without clicking a button.
The value entered is then returned from this function, so we can assign it to a variable:
const age = prompt("How old are you?")
You can pass a second parameter that’s the default value prefilled in the prompt:
const age = prompt("How old are you?", 18)
If the user enters nothing and clicks OK, an empty string will be returned.
If the user clicks the Cancel button, the prompt()
function call returns null
Download my free JavaScript Beginner's Handbook and check out my JavaScript Course!
More js tutorials:
- Loosely typed vs strongly typed languages
- How to use JavaScript Classes
- How to check if a string starts with another in JavaScript
- How to write text into to an HTML canvas
- In which ways can we access the value of a property of an object?
- JavaScript Symbols
- Introduction to Unicode and UTF-8
- The JavaScript filter() Function
- The ES6 Guide