2013-06-23 121 views
-2

当我点击计算按钮时,我似乎无法得到输出。我知道这是一件简单的事情,但我一整天都在绞尽脑汁,似乎无法让它正常工作。这是我更新的代码,但仍然无效。有人可以帮助我了解我做错了什么吗?

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript"> 



function calc(){ 
var price = document.getElementById("price"); 
var shipping=parseFloat(calc(price)); 
var total= price+shipping; 
if (price<=25){ 
return 1.5; 
} 
else{ 
return price*10/100 
} 

window.alert("Your total price with shipping and handling is $" + price + "."); 
} 
</script> 
</head> 
<body> 
<form name="total" action=""> 
Enter your amount: 
<input type="text" name="price" id="price"> 
<input type="button" 
value="calculate" 
onclick="calc(document.getElementById("price")"> 
</form> 

</body> 
</html> 
+2

没有'document.totalprice'元素。看看你的浏览器的错误控制台。 – lonesomeday

+1

看起来你有很多基本的错误。要做的最好的事情就是尝试一个像codeacademy这样的在线JavaScript教程,并学习基本的语法 –

回答

2

更改parsefloat改为parseFloat:JavaScript区分大小写。您可以使用on click而不是onclick。浏览器无法猜测你的意愿,你必须精确。

而且,你没有给一个名称的形式(我想你想叫它totalprice但最好将是给一个id这个输入,并得到这样的价值:

<input type="text" name="price" id="price"> 

... 

var price = document.getElementById('price'); 
2
  1. parsefloat应该parseFloat
  2. on click应该是onclick
  3. calc返回一个数字,你想叫其返回值的函数
  4. JavaScript的前三行不在函数内部。这意味着,
    • 他们正试图访问不存在(而且永远也不会,你有没有totalprice元素)
    • 元素他们正试图访问元素用户输入一个值,他们
2

的几个问题:

  1. 它应该是onclickon click(无空格)
  2. calc(price)是不是函数的名称,但只是calc是。要调用它,你只需要编写calc(document.totalprice.price.value)
  3. 这是parseFloat(大写F
  4. window.alert是函数体的外面,所以你将只能得到在开始一个警报,但你按下时不按钮
  5. 同样,您可能还想将所有其他内容放入函数中,以便在单击按钮时进行更新。因为document.totalprice.price.value不会工作。

另请注意,不需要CDATA注释。它们被用于XHTML(用作XML),以使内容成为XML解析器的纯文本(而不必关心特殊字符等)。因为你只有简单的(和推荐的)HTML(5)文档类型,所以你不需要这个了。

相关问题