我正在制作一个JavaScript项目,当用户在提示符中输入任何内容时我想提醒
function verifyage() {
var age = prompt("enter your age:", "");
var status = (age >= 18) ? "adult" : "minor";
if(status == "minor") {
alert("you are too young");
} else if (status == "adult") {
alert("you're in");
} else if (status == "null") {
alert("you need to enter your age");
}
else {
void(0);
}}
<button onclick="verifyage();" type="button">watch movie</button>
它应该做什么:
但是,当我测试并输入任何内容时,它说你太年轻了 - 为什么?
我尝试了how to show alert when user enter other then number value in textfield和其他但没有。 编辑:当我按下取消时,它说你太年轻了......帮忙?
答案 0 :(得分:2)
在我看来,您希望继续提示用户在该字段中输入内容。为了实现这一点,我将有一个while循环,检查以确保年龄不是空白。它也看起来没有必要设置状态,然后只需检查年龄就可以检查值。
function verifyage() {
var age = prompt("enter your age:", "");
//var status = (age >= 18) ? "adult" : "minor";
while(age === "" || isNaN(age)){
age = prompt("enter your age:", "");
}
if(age <= 18) {
alert("you are too young");
} else if (age > 18) {
alert("you're in");
}
else {
void(0);
}
}
答案 1 :(得分:0)
function verifyage() {
var age = prompt("enter your age:", "");
if(age=='' || age<="0" || isNaN(age)){alert ("you have to enter your age");
}
var status = (age >= 18) ? "adult" : "minor";
if(status == "minor") {
alert("you are too young");
} else if (status == "adult") {
alert("you're in");
} else if (status == "null") {
alert("you need to enter your age");
}
else {
void(0);
}}
首先,如果你没有选择年龄,它会将它分配给0,这是第一个,如果将获得18,那么为了避免添加if语句来验证用户是否没有写任何东西或者写0错误,如上面的代码
答案 2 :(得分:0)
function verifyage() {
var age = prompt("enter your age:", "");
if(isNaN(parseFloat(age))) { // check: if user entered a number/string/blank
alert("You entered nothing");
}
else {
var status = (age >= 18) ? "adult" : "minor";
if(status == "minor") {
alert("you are too young");
} else if (status == "adult") {
alert("you're in");
}
}
}
verifyage();
&#13;
答案 3 :(得分:0)
我不是javascript专家,但看着你的代码,我认为&#34; null&#34;不会做你想要的。现在它明确地寻找键入的文本&#34; null&#34;。例如,在c ++中,您可以使用
else if (status == "")
或(甚至可能更好)只使用其他(因此除了成人/未成年人之外的所有内容都可能出错)
此外,我不会与变量&#34; status&#34;进行比较,而是使用&#34; age&#34;。这应该是你做的第一次比较。当输入的年龄==&#34;&#34; (&lt; - nothing)然后你可以发出警报,提示用户再次输入他们的年龄。
祝你好运!答案 4 :(得分:0)
请参阅以下更正,您输入时遇到了麻烦,年龄变量的值为0。
function verifyage() {
var age = prompt("enter your age:", "");
var status = (age >= 18) ? "adult" : "minor";
if (age == 0)
status = "null";
if(status == "minor") {
alert("you are too young");
} else if (status == "adult") {
alert("you're in");
} else if (status == "null") {
alert("you need to enter your age");
}
else {
void(0);
}}
<button onclick="verifyage();" type="button">watch movie</button>