以下是问题: 许多公司通常会收取运费和手续费。创建一个允许用户在文本框中输入购买价格的网页 - 包括计算运费和处理的JavaScript函数。添加脚本功能,对于小于或等于$ 25.00的任何购买,增加1.50美元的最低运费和手续费。对于任何超过$ 25.00的订单,请将运费和处理的总购买价格加10%,但不包括1.50美元的最低运费和手续费。确定订单的总成本(购买加运输和处理)后,将其显示在警告对话框中。
我是JavaScript的初学者,并努力让我的代码工作。它会显示一个警告框,其中包含用户输入的值,但不会添加任何内容。虽然,我不知道为什么配方不起作用。请帮忙。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Calculating Shipping & Handling</title>
<script type="text/javascript">
/* <![CDATA[ */
var price=[];
var shipping=[];
var total=price+shipping;
function calculateShipping(){
if (price <= 25){
shipping = (price + 1.5);
}
else {
shipping = (price * 10 / 100);
}
window.alert("The purchase price with shipping is "
+ document.calculate.ent.value);
}
/* ]]> */
</script>
</head>
<body>
<form name ="calculate" action="" >
<p>Enter Purchase Price</p>
<input type="text" name="ent" >
<input type="button" name="button" value="Submit" onClick="calculateShipping()" />
</form>
</body>
</html>
答案 0 :(得分:3)
这显然是家庭作业,所以我会让你走上正轨。
代码存在一些问题:
var total=price+shipping;
行
document.calculate.ent.value
您实际上想要显示total
。price
变量。您可以考虑将价格作为参数传递给calculateShipping()
函数,这样就可以function calculateShipping(price) { ... }
答案 1 :(得分:2)
Try:
function calculateShipping() {
var price = parseFloat(document.getElementById('ent').value);
var total = (price <=25) ? price + 1.5 : 1.1 * price;
window.alert("The purchase price with shipping is $" + total.toFixed(2));
}
您还应该为输入添加一些验证,因为如果输入了非数字值,它将使您的函数崩溃。