Javascript 提示时取消和空输入的不同值
我刚刚开始使用Javascript,我一直在尝试制作一个小脚本来表示问候。这是:Javascript 提示时取消和空输入的不同值,javascript,prompt,Javascript,Prompt,我刚刚开始使用Javascript,我一直在尝试制作一个小脚本来表示问候。这是: function hello() { while (!name) { var name = prompt("What's your name", ""); var greetingElement = document.getElementById("greeting"); greetingElement.style.color = "red";
function hello() {
while (!name) {
var name = prompt("What's your name", "");
var greetingElement = document.getElementById("greeting");
greetingElement.style.color = "red";
if (name == null) {
greetingElement.innerHTML = "Boring!";
break;
}
else if (name == 0) {
greetingElement.innerHTML = "Don't you have a name";
}
else {
greetingElement.innerHTML = "Hello " + name + "!";
}
}
}
window.onload = hello;
我的问题是,如果在提示中按cancel,我想显示一条消息;如果不输入输入并按OK,我想显示另一条消息。就我所知,这两个操作都会导致值为null,那么如何显示不同的消息呢
我在代码中所做的显然不是最佳的,我知道这一点
如果按“取消”,我还希望while循环结束,但现在没有。如果需要检查一些不同的falsy值,则需要将它们与运算符进行比较。您可以在下面的代码中看到它。我还对您的代码做了一些小的修改,以使其能够流畅地工作
function hello(){
var greetingElement = document.getElementById("greeting");
greetingElement.style.color = "red";
while (!name) {
var name = prompt("What's your name?", "");
if (name === null || name === false) { // Canceled
greetingElement.innerHTML = "Boring!";
break; // Leave this out, if the name is mandatory
}
if (name === "") { // OK, but no name
greetingElement.innerHTML = "Don't you have a name?";
} else { // OK with a name
greetingElement.innerHTML = "Hello " + name + "!";
}
}
}
现场演示谢谢!工作真的很好,我明白了!