Javascript:为输入字母指定特定值

Javascript:为输入字母指定特定值,javascript,Javascript,我无法将输入指定为特定值。例如,当用户通过TicketType提示符输入字母时,我希望将该字母转换为数字。假设他们输入“B”作为他们的票证类型,我想把“B”转换成50,这样我就可以计算出总成本。目前TotalPayment只显示NaN,我很困惑 这是我的JavaScript代码: function ticket() { var TicketType; TicketType = prompt("Please enter the type of ticket you require

我无法将输入指定为特定值。例如,当用户通过TicketType提示符输入字母时,我希望将该字母转换为数字。假设他们输入“B”作为他们的票证类型,我想把“B”转换成50,这样我就可以计算出总成本。目前TotalPayment只显示NaN,我很困惑

这是我的JavaScript代码:

function ticket() {

    var TicketType;
    TicketType = prompt("Please enter the type of ticket you require!");
    document.write("<br>");
    var TicketQty;
    TicketQty = prompt("Please enter the number of tickets you require!");
    TicketQty = parseInt(TicketQty);
    document.write("Number of Tickets:" + TicketQty);
    document.write("<br>");
    var TotalPayment =(TicketPrice) * (TicketQty);
    document.write("Total Payment is:" + TotalPayment);
    var TicketPrice;
    TicketPrice = parseInt(TicketPrice);

    if (TicketType == A) {
        TicketPrice == 100;
    }
    else if (TicketType == B) {
        TicketPrice == 75;
    }
    else if (TicketType == C){
        TicketPrice == 50;
    }
    else {
        document.write("Invalid Ticket Type");
    }
}
功能票证(){
var-TicketType;
TicketType=提示(“请输入您需要的票证类型!”);
文件。写(“
”); var-TicketQty; TicketQty=prompt(“请输入您需要的票数!”); TicketQty=parseInt(TicketQty); 文件。填写(“票数:+TicketQty”); 文件。写(“
”); var TotalPayment=(票证价格)*(票证价格); 文件。填写(“付款总额为:“+TotalPayment”); var报价; TicketPrice=parseInt(TicketPrice); 如果(票证类型==A){ 票务价格==100; } 否则如果(票证类型==B){ 票务价格=75; } else if(票证类型==C){ 票务价格==50; } 否则{ 文件。写入(“无效票证类型”); } }
这是我的HTML代码:

<html>
<title>Ticket</title>
<h1>Ticket</h1>
<script src="test.js">   </script>
<script>calculate()</script>
</body>

票
票
计算()

您的字符串比较完全错误。我的回答仅限于此,因为这正是你所问的

if (TicketType == A) {
需要:

if (TicketType === "A") {
此外,您必须清楚赋值“=”与比较“=”

整个部分应该更像这样:

if (TicketType === "A") {
    TicketPrice = 100;
} else if (TicketType === "B") {
    TicketPrice = 75;
} else if (TicketType === "C")
    TicketPrice = 50;
else {
    document.write("Invalid Ticket Type");
}
当您有一个链接if-then-elseif时,请查看switch语句


您的代码还有其他问题。进行了一些修复和改进

您需要改变两件事:

1:字符串比较

if (TicketType == A)

2:分配错误

TicketPrice == 100

请尝试以下操作:

var-TicketType;
var-TicketQty;
var报价;
函数calculatecket(){
TicketType=提示(“请输入您需要的票证类型!”);
文件。写(“
”); TicketQty=prompt(“请输入您需要的票数!”); testType(); } 计算基特(); 函数testType(){ 如果(票证类型=='A'| |票证类型=='B'| |票证类型=='C'){ 如果(票证类型=='A'){ 票券价格=100; }否则如果(票证类型=='B'){ 票券价格=75; }否则如果(TicketType=='C'){ 票务价格=50; } TicketQty=parseInt(TicketQty); document.body.innerHTML+=''; document.getElementById('text1')。innerHTML='总付款为:'+TicketQty; 文件。写(“
”); var TotalPayment=(票证价格)*(票证价格); document.body.innerHTML+=''; document.getElementById('text2')。innerHTML='总付款为:'+总付款; TicketPrice=parseInt(TicketPrice); } 否则{ if(document.getElementById('text1')!=null){ document.getElementById('text1')。innerHTML=''; } if(document.getElementById('text2')!=null){ document.getElementById('text2')。innerHTML=''; } 文件。写入(“无效票证类型”); }
}
非常感谢!!还有一个问题:如果页面显示无效的票证类型,我可以让它只显示无效的票证类型而不显示其他内容吗?嗨,米特兰迪尔,现在试试这个片段。我更改了密码。如果有什么问题,请告诉我。
TicketPrice == 100
TicketPrice = 100