我很难用这段代码。我已经为它工作了几天,似乎无法弄清楚。请帮忙!!

这是我需要的代码:
许多公司通常会对购买收取运输和手续费。创建一个网页,允许用户在文本框中输入购买价格,并包括一个计算运输和处理的JavaScript函数。在脚本中添加功能,对于少于或等于25.00美元的任何购买,最低运费为1.50美元。对于超过$ 25.00的任何订单,请在总购买价格中加收10%的运费用于运输和处理,但不包括$ 1.50的最低运输和处理费用。计算百分比的公式为价格*百分比/100。例如,计算50.00美元购买价格的10%的公式为50 * 10/100,这将导致5.00美元的运输和装卸费。确定订单的总成本(购买以及运输和处理)后,将其显示在警报对话框中。

这是我的代码:

<!DOCTYPE>

<head>
<title>Calculate Shipping</title>

<script type="text/javascript">

function parseInt() {
var salesPrice = document.salesForm.Price.value;
var minCharge = salesPrice + 1.50;
var shipping = salesPrice * 10/100;
if (salesPrice <= 25)
window.alert('Your sales total including shipping is $' + minCharge);
 else
window.alert('Your sales total including shipping is $' + salesPrice + shipping);
}
</script>
</head>
<body>
<form name="salesForm">
<div >
<p>Enter Your Purchase Price</p>
<input type="text" name="Price" /><br /><br />
<input type="button" name="Calculate" value="Calculate Shipping"
onclick="parseInt ()" />
</div>
</form>
</body>
</html>


除警报框中的数学运算外,其他所有操作均有效。它将显示不正确的总数...

最佳答案

输入值始终以字符串形式而不是数字形式返回;解决:

var salesPrice = parseFloat(document.salesForm.Price.value),
    minCharge = salesPrice + 1.50,
    shipping = salesPrice * 10/100;


问题在于+会将数字加在一起,或连接字符串:

var num1 = 1,
    num2 = 3,
    num3 = '2';
console.log(num1 + num2); // 4
console.log(num2 + num3); // '32'


参考文献:


parseFloat()

关于javascript - 用于查找运输总计的JavaScript编码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19552882/

10-11 13:22