我试图让按钮跟踪出售的票数,并在达到一定数量时停止循环。到目前为止,我的按钮根本不起作用(它们显示但是当你点击它们时没有任何反应)我不知道为什么(第一次尝试使用按钮所以我可能忘记了一些基本的东西)。有一种更简单的方法吗?
<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>
答案 0 :(得分:0)
好的,我认为现在最好的想法是完全重写代码的这一部分,为什么?
那么你在这段代码中做错了什么?
id
?console.log()
来学习/查看/探索/检查您的代码。答案 1 :(得分:0)
以下代码有效,但我没有时间对其进行格式化。
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>