2013-06-23 124 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)文檔類型,所以你不需要這個了。

相關問題