运费和手续费计算

时间:2012-12-04 00:44:37

标签: javascript

以下是问题: 许多公司通常会收取运费和手续费。创建一个允许用户在文本框中输入购买价格的网页 - 包括计算运费和处理的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>

2 个答案:

答案 0 :(得分:3)

这显然是家庭作业,所以我会让你走上正轨。

代码存在一些问题:

  1. 在您实际计算运费
  2. 之前发生了var total=price+shipping;
  3. 而不是document.calculate.ent.value您实际上想要显示total
  4. 的值
  5. 您尚未将用户在文本框中输入的值分配给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));
}

您还应该为输入添加一些验证,因为如果输入了非数字值,它将使您的函数崩溃。