[英]How to get the buttons to work correctly
我正在尝试获取按钮以跟踪售出的门票数量,并在达到一定数量时停止循环。 到目前为止,我的按钮根本不起作用(它们显示出来,但是当您单击它们时什么也没有发生),我也不知道为什么(第一次尝试使用按钮,所以我可能会忘记一些基本的东西)。 有没有一种更简单的方法?
<div>Be aware that the maxium amount of ticket that can be purchased in one transaction is 10!</div>
<div>Please press the button with the type of ticket you wish to purchase to start ordering your tickets now.</div>
<button onclick="Calculate(0);">Toddler Ticket</button>
<button onclick="Calculate(1);">Junior Ticket</button>
<button onclick="Calculate(2);">Adult Ticket</button>
<div id='msg'></div>
</head>
<body>
<script type="text/javascript">
// Program name: Ticket Booth
// Purpose: To do a transaction
// Author: Ephraim Vickers
// Date last modified: Today
// Variables
var MAX_SEAT_COUNT = 10 //Named constant
var amountTicket //Amount of tickets bought
var grossProfit
//Ticket prices
var adulTicket = 0
var junTicket = 0
var todTicket = 0
var totalSales = 0 // adulTicket + junTicket
//Seats by class
var adulNum = 0 // number of tickets bought
var junNum = 0
var todNum = 0
var extraNum = 0 //Ticket bought over maximum
function parseFloat(amountTicket) {
if (amountTicket >= MAX_SEAT_COUNT) {
extraNum = amountTicket - MAX_SEAT_COUNT;
document.getElementById('msg').innerHTML = "Tickets have now sold out thank you for purchasing." // important to stop after limit
//end loop and display all data here like shown below remember to line up columns
//Ticket sale Report <current date>
// SEAT CAPACITY EXTRAS TOTAL SOLD
// MAX_SEAT_COUNT extraNum amountTicket
// TODDLERS JUNIORS ADULTS
// todNum junNum adulNum
//Gross Profit for today was grossProfit
}else if (amountTicket > 10) {
document.getElementById('msg').innerHTML = "The maximum number of tickets that can be done in one transaction is 10"
}else {
amountTicket = prompt("Valued customer, please enter the number of tickets you would like to purchase.");
parseFloat(amountTicket);
}
return;
}
function Calculate() {
//set zeroes for all values
adulTicket = 0
junTicket = 0
todTicket = 0
amountTicket = 0
totalSales = 0
adulNum = 0
junNum = 0
todNum = 0
extraNum = 0
grossProfit = 0
//get user input
switch(id){
case 0:
todNum
break;
case 1:
junNum
break;
case 2:
adulnum
break;
}
//get user input
amountTicket = prompt("Valued customer, please enter the number of tickets you would like to purchase.");
parseFloat(amountTicket);
grossProfit = (adulTicket * adultNum) + (junTicket * junNum)
amountTicket = prompt("Valued customer, please enter the number of tickets you would like to purchase.");
parseFloat(amountTicket);
grossProfit = (adulTicket * adultNum) + (junTicket * junNum)
}
</script>
好的,我认为现在最好的办法是完全重写代码的这一部分,为什么呢?
那么这段代码在做什么错呢?
id
? console.log()
来学习/查看/浏览/检查..您的代码。 祝好运
下面的代码有效,但是我没有时间格式化它。
1使用按钮调用函数时,不需要分号。
2如果函数在调用时具有参数,例如Calculate(0),则需要在函数中声明参数。
function Calculate(ticket){
}
3然后,必须在交换机中使用该参数。
switch(ticket){
}
除此之外,如果您需要在其他地方使用变量,则应在函数外部声明变量。
观察您的if语句,该语句在相同条件下有两个结果,并使我的浏览器崩溃。
请以此为指导并整理代码。 格式化有助于调试。
<body>
<script type="text/javascript">
// Program name: Ticket Booth
// Purpose: To do a transaction
// Author: Ephraim Vickers
// Date last modified: Today
// Variables
var MAX_SEAT_COUNT = 10 //Named constant
var amountTicket = 0 //Amount of tickets bought
var grossProfit
//Ticket prices
var adulTicket = 0
var junTicket = 0
var todTicket = 0
var totalSales = 0 // adulTicket + junTicket
//Seats by class
var adulNum = 0 // number of tickets bought
var junNum = 0
var todNum = 0
var extraNum = 0 //Ticket bought over maximum
function parseFloat(amountTicket) {
if (amountTicket >= MAX_SEAT_COUNT) {
extraNum = amountTicket - MAX_SEAT_COUNT;
document.getElementById('msg').innerHTML = "Tickets have now sold out thank you for purchasing." // important to stop after limit
//end loop and display all data here like shown below remember to line up columns
//Ticket sale Report <current date>
// SEAT CAPACITY EXTRAS TOTAL SOLD
// MAX_SEAT_COUNT extraNum amountTicket
// TODDLERS JUNIORS ADULTS
// todNum junNum adulNum
//Gross Profit for today was grossProfit
}else if (amountTicket < 10) {
document.getElementById('msg').innerHTML = "The maximum number of tickets that can be done in one transaction is 10"
}else {
amountTicket = prompt("Valued customer, please enter the number of tickets you would like to purchase.");
parseFloat(amountTicket);
}
return;
}
function Calculate(ticket) {
//set zeroes for all values
adulTicket = 0
junTicket = 0
todTicket = 0
amountTicket = 0
totalSales = 0
adulNum = 0
junNum = 0
todNum = 0
extraNum = 0
grossProfit = 0
//get user input
switch(ticket){
case 0:
todNum
break;
case 1:
junNum
break;
case 2:
adulnum
break;
}
//get user input
amountTicket = prompt("Valued customer, please enter the number of tickets you would like to purchase.");
parseFloat(amountTicket);
grossProfit = (adulTicket * adultNum) + (junTicket * junNum)
return amountTicket;
}
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.