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