处理代码但计算不起作用

时间:2014-01-23 02:30:19

标签: javascript

所以我正在处理这段代码,我似乎无法将单选按钮金额与文本框中输入的金额相结合。提交按钮应该计算。这是一个问题,我想要创建这个代码。 许多公司通常会收取运费和手续费。创建一个允许用户在文本框中输入购买价格的网页;

包含计算运费和处理的JavaScript函数。

为脚本添加功能,对于小于或等于$ 25.00的任何购买,增加1.50美元的最低运费和手续费。

对于任何超过$ 25.00的订单,请将运费和处理的总购买价格加10%,但不包括1.50美元的最低运费和手续费。

计算百分比的公式是价格*百分比/ 100.例如,计算50.00美元购买价格10%的公式为50 * 10/100,这导致运费和手续费为5.00美元。

确定订单的总成本(购买加运费和处理)后,将其显示在警告对话框中 这是我到目前为止的代码。任何提示都会有所帮助。我无法弄清楚我做错了什么或如何解决它。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//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>Calculate Shipping</title>

<script type="text/javascript">
/* <[CDATA[ */

var  price=[];
var shipping=[];
var total=price+shipping;

function calculateshipping(){
    var price = parseFloat(document.getElementByid('ent').value);
    var total = (price <=25) ? price +1.50 : 1.1 * price;
    window.alert("the purchase price with shipping is $" + total.tofixed(2));
}

function calculateShipping(){
    if (price <=25){
        shipping = (price =1.25);
    }
    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>

3 个答案:

答案 0 :(得分:1)

首先,更改您的输入标记,就像您提到的帖子上的评论一样:

<input type="text" name="ent" id="ent" /> 

然后用以下内容替换整个脚本标记:

<script type="text/javascript">

function calculateShipping(){
  price = parseFloat(document.getElementById("ent").value);
  if (price <=25){
    shipping = 1.5;
  }else{
    shipping = (price *10/100);
  }
  total = price + shipping;
  window.alert("The purchase price with shipping is "+total);
}

</script>

在执行函数时,添加'id'属性为javascript提供了一些东西。每次单击时,它都会获取该input元素的值并将其解析为float。

答案 1 :(得分:0)

首先,您有两个名为CalculateShipping()的javascript方法 - 您如何确定执行的内容?难道不是像这样的单一方法CalculateShipping()

function calculateshipping(){
   var price = parseFloat(document.getElementByid('ent').value);
   var total = (price <=25) ? price +1.50 : 1.1 * price;
   window.alert("the purchase price with shipping is $" + total.tofixed(2));

   if (price <=25){
     shipping = (price =1.25);
   }
   else{
     shipping = (price *10/100);
   }

   window.alert("The purchase price with shipping is " + document.calculate.ent.value);
}

答案 2 :(得分:0)

似乎是一个非常基本的问题,请将shipping = (price =1.25);更改为shipping = 1.5;。然后只需计算价格并提醒它:

if(price <= 25)
   shipping = 1.5;
else
   shipping = (price*10)/100;

price += shipping;
alert(price);

这是一个小提琴:http://jsfiddle.net/HMRNB/