Reputation: 25
My homepage prompts you to enter your name upon entry, but I want it to print a special message when i enter my nickname. Instead, it prints the same message every time.
window.onload = function namePrompt() {
let person = prompt("Please enter your name", "");
if (person != null) {
document.getElementById("name").innerHTML =
"welcome, " + person + ", to the pyrogaming/covid2009 homepage!";
}
else if (person = pyro || Pyro || PYRO) {
document.getElementById("name").innerHTML =
"hey, me! hope you've been making substantial changes!";
}
}
What is wrong with my code?
Upvotes: 0
Views: 85
Reputation: 177860
person = pyro || Pyro || PYRO
is not valid JS
There are three errors. =
is assignment, not comparison and you would need quotes and test each one with ===
person === "pyro" || person ==="Pyro" || person === "PYRO"
Instead use toLowerCase and a ternary. In any case stay DRY (Don't Repeat Yourself)
I also recommend eventListener instead of onload
window.addEventListener("DOMContentLoaded", () => {
const person = prompt("Please enter your name", "");
if (!person) return; // empty string or null
const text = person.toLowerCase() === "pyro" ?
"hey, me! hope you've been making substantial changes!" :
`welcome, ${person}, to the pyrogaming/covid2009 homepage!`;
document.getElementById("name").innerHTML = text;
})
<span id="name"></span>
Upvotes: 3
Reputation: 19485
window.onload = function namePrompt() {
let person = prompt("Please enter your name", "");
var msg
if (person != null) {
if (person.toLowerCase() == "pyro") {
msg =
"hey, me! hope you've been making substantial changes!";
} else {
msg = "welcome, " + person + ", to the pyrogaming/covid2009 homepage!";
}
document.getElementById("name").innerHTML = msg
}
}
<div id="name"></div>
Upvotes: -1
Reputation: 730
===
, not =
- this one is "assign value", not comparingPYRO
toLowerCase
method, so you don't need to worry about input case. "Pyro", "PYRO", "pyro" - they all will be the same for comparisonwindow.onload = function namePrompt() {
let person = prompt("Please enter your name", "");
if (person != null) {
if(person.toLowerCase() === 'pyro') {
document.getElementById("name").innerHTML =
"hey, me! hope you've been making substantial changes!";
} else {
document.getElementById("name").innerHTML =
"welcome, " + person + ", to the pyrogaming/covid2009 homepage!";
}
}
}
<div id="name"></div>
Upvotes: -1