出于某种原因,当我输入值时,所有输出都是 undefined和NaN,我不明白为什么。我想 错误很简单。所以很简单,我会面对。抱歉 对于我的代码,我还是javascript的新手。而且,没关系信用卡。
function processAmount(){
var numOfLiters= parseInt(document.estore.noOfLiters.value);
var result;
var perLiterAmount;
var gasType;
switch(gasType){
case "Premium":
perLiterAmount= 50;
result= 50*numOfLiters;
break;
case "Diesel":
perLiterAmount= 38;
result= 38*numOfLiters;
break;
case "Unleaded":
perLiterAmount= 44;
result= 44*numOfLiters;
break;
}
var vat= result*0.12;
document.write("<p>Fuel Type: " + gasType + "</p>");
document.write("<p>Price per Liter amount: " + perLiterAmount + "</p>");
document.write("<p>Purchase Amount: " + result + "</p>");
document.write("<p>VAT: " + vat + "</p>");
document.write("<p>TOTAL AMOUNT: " + (result+vat) + "</p>");
document.write("<p>Credit Card : " + creditCard + "</p>");`
以下是表格:
<form name='estore' id='estore'>
<fieldset>
<legend>Gasoline eStore</legend>
<p>Enter gasoline type:
<select name='gastype' id='gastype'>
<option value="Premium"> Premium</option>
<option value="Unleaded"> Unleaded</option>
<option value="Diesel"> Diesel</option>
</select></p>
<p> Enter number of Liters:
<input type='number' name='noOfLiters' id='noOfLiters'/>
</p>
<p> Enter Credit Card Number:
<input type="number" name='creditCardNumber' id='creditCardNumber'/>
</p>
<p>
<input type='button' value='Submit'
onclick="processAmount()"/>
<input type='reset'/>
</p>
答案 0 :(得分:2)
首先将值分配给gasType
,然后将其放入switch
大小写。
答案 1 :(得分:0)
你可以替换
var gasType;
与
var gasType = document.getElementById('gastype').value;
这样您的方法processAmount()
应该按预期工作。
正如其他一些回复已经建议的那样,您没有初始化变量gasType
,因此它是undefined
。
使用上面的行,您可以使用select
字段中的值初始化它。
答案 2 :(得分:0)
在您的函数中,将值指定为load
securitypolicyviolation