如何将提示响应与我的变量进行比较?
How do I compare the prompt response to my variable?
用户应该在提示框中输入几个名字之一。如果他们的回答不是给定的名字之一,他们会被告知这不是有效的回答。然而,如果他们这样做了,他们就会被告知他们选择了谁。问题是,无论我输入什么,它总是说这是一个无效的名称。任何建议如何解决这个问题?
<html>
<body bgcolor = "firebrick">
<title>Dinner Plans</title>
<center><h1><b> Dinner Plans</h1>
<p> Guests to Pick From:</p></b>
<p> Jane, Lisa, Taylor, Chris, Alyssa, Will and Jessica </p>
<button onclick="Invites()">Click To Invite</button>
<div id = "Coming"></div>
<script>
function Invites() {
var txt;
var person = prompt("Who is Coming For Dinner?", "Enter Names Here");
if (person == null || person != guest) {
txt = "Not A Valid Guest.";
}
else {
txt = "Your Invited Guests Are:" + person;
}
document.getElementById("Coming").innerHTML = txt;
}
function guest ( slices , toppings ) {
this.numSlices = slices;
this.numToppings = toppings;
}
var Jane = new guest( 2, "Mushroom", "Onions", "Peppers", "Olives");
var Lisa = new guest(3, "Pepperoni", "Ham", "Pineapple");
var Taylor = new guest(3, "Extra Cheese", "Pepperoni", "Sausage", "Bacon");
var Chris = new guest(2, "Mushroom", "Sausage", "Bacon", "Ham", "Onion", "Peppers");
var Alyssa = new guest(1, " Pepperoni", "Bacon");
var Will = new guest(2, "Extra Cheese", "Sausage", "Bacon", "Onion", "Peppers", "Olives");
var Jessica = new guest(2, "Pepperoni", "Bacon", "Ham", "Pineapple", "Onion", "Peppers");
if (Invites == null || Invites == "") {
txt = " You invited zero guests, you have a pizza all to yourself!";
} else {
txt = " You Invited:" + Invites;
}
</script>
<script>
function Invites() {
var txt;
var guestArray = [
"Jane",
"Lisa",
"Taylor",
"Chris",
"Alyssa",
"Will",
"Jessica"
];
var person = prompt("Who is Coming For Dinner?", "Enter Names Here");
if (person == null || guestArray.indexOf(person) === -1) {
txt = "Not A Valid Guest.";
}
else {
txt = "Your Invited Guests Are:" + person;
}
document.getElementById("Coming").innerHTML = txt;
}
function guest ( slices , toppings ) {
this.numSlices = slices;
this.numToppings = toppings;
}
var Jane = new guest( 2, "Mushroom", "Onions", "Peppers", "Olives");
var Lisa = new guest(3, "Pepperoni", "Ham", "Pineapple");
var Taylor = new guest(3, "Extra Cheese", "Pepperoni", "Sausage", "Bacon");
var Chris = new guest(2, "Mushroom", "Sausage", "Bacon", "Ham", "Onion", "Peppers");
var Alyssa = new guest(1, " Pepperoni", "Bacon");
var Will = new guest(2, "Extra Cheese", "Sausage", "Bacon", "Onion", "Peppers", "Olives");
var Jessica = new guest(2, "Pepperoni", "Bacon", "Ham", "Pineapple", "Onion", "Peppers");
if (Invites == null || Invites == "") {
txt = " You invited zero guests, you have a pizza all to yourself!";
} else {
txt = " You Invited:" + Invites;
}
</script>
<title>Dinner Plans</title>
<center><h1><b> Dinner Plans</h1>
<p> Guests to Pick From:</p></b>
<p> Jane, Lisa, Taylor, Chris, Alyssa, Will and Jessica </p>
<button onclick="Invites()">Click To Invite</button>
<div id = "Coming"></div>
所以你的代码存在以下问题:
guest 是构造函数。不是一个值(客人的名字)你是
期待。
比对提示填写的名称,需要有效列表
名字.
为此,您可以使用名称数组(此处为 guestArray)。
我使用了 indexOf 函数,它在 Array 实例上可用
javascript。它 returns -1 当没有找到匹配时
元素的数组或索引(如果存在匹配项)。
用户应该在提示框中输入几个名字之一。如果他们的回答不是给定的名字之一,他们会被告知这不是有效的回答。然而,如果他们这样做了,他们就会被告知他们选择了谁。问题是,无论我输入什么,它总是说这是一个无效的名称。任何建议如何解决这个问题?
<html>
<body bgcolor = "firebrick">
<title>Dinner Plans</title>
<center><h1><b> Dinner Plans</h1>
<p> Guests to Pick From:</p></b>
<p> Jane, Lisa, Taylor, Chris, Alyssa, Will and Jessica </p>
<button onclick="Invites()">Click To Invite</button>
<div id = "Coming"></div>
<script>
function Invites() {
var txt;
var person = prompt("Who is Coming For Dinner?", "Enter Names Here");
if (person == null || person != guest) {
txt = "Not A Valid Guest.";
}
else {
txt = "Your Invited Guests Are:" + person;
}
document.getElementById("Coming").innerHTML = txt;
}
function guest ( slices , toppings ) {
this.numSlices = slices;
this.numToppings = toppings;
}
var Jane = new guest( 2, "Mushroom", "Onions", "Peppers", "Olives");
var Lisa = new guest(3, "Pepperoni", "Ham", "Pineapple");
var Taylor = new guest(3, "Extra Cheese", "Pepperoni", "Sausage", "Bacon");
var Chris = new guest(2, "Mushroom", "Sausage", "Bacon", "Ham", "Onion", "Peppers");
var Alyssa = new guest(1, " Pepperoni", "Bacon");
var Will = new guest(2, "Extra Cheese", "Sausage", "Bacon", "Onion", "Peppers", "Olives");
var Jessica = new guest(2, "Pepperoni", "Bacon", "Ham", "Pineapple", "Onion", "Peppers");
if (Invites == null || Invites == "") {
txt = " You invited zero guests, you have a pizza all to yourself!";
} else {
txt = " You Invited:" + Invites;
}
</script>
<script>
function Invites() {
var txt;
var guestArray = [
"Jane",
"Lisa",
"Taylor",
"Chris",
"Alyssa",
"Will",
"Jessica"
];
var person = prompt("Who is Coming For Dinner?", "Enter Names Here");
if (person == null || guestArray.indexOf(person) === -1) {
txt = "Not A Valid Guest.";
}
else {
txt = "Your Invited Guests Are:" + person;
}
document.getElementById("Coming").innerHTML = txt;
}
function guest ( slices , toppings ) {
this.numSlices = slices;
this.numToppings = toppings;
}
var Jane = new guest( 2, "Mushroom", "Onions", "Peppers", "Olives");
var Lisa = new guest(3, "Pepperoni", "Ham", "Pineapple");
var Taylor = new guest(3, "Extra Cheese", "Pepperoni", "Sausage", "Bacon");
var Chris = new guest(2, "Mushroom", "Sausage", "Bacon", "Ham", "Onion", "Peppers");
var Alyssa = new guest(1, " Pepperoni", "Bacon");
var Will = new guest(2, "Extra Cheese", "Sausage", "Bacon", "Onion", "Peppers", "Olives");
var Jessica = new guest(2, "Pepperoni", "Bacon", "Ham", "Pineapple", "Onion", "Peppers");
if (Invites == null || Invites == "") {
txt = " You invited zero guests, you have a pizza all to yourself!";
} else {
txt = " You Invited:" + Invites;
}
</script>
<title>Dinner Plans</title>
<center><h1><b> Dinner Plans</h1>
<p> Guests to Pick From:</p></b>
<p> Jane, Lisa, Taylor, Chris, Alyssa, Will and Jessica </p>
<button onclick="Invites()">Click To Invite</button>
<div id = "Coming"></div>
guest 是构造函数。不是一个值(客人的名字)你是 期待。
比对提示填写的名称,需要有效列表 名字.
为此,您可以使用名称数组(此处为 guestArray)。
我使用了 indexOf 函数,它在 Array 实例上可用 javascript。它 returns -1 当没有找到匹配时 元素的数组或索引(如果存在匹配项)。