當我在做什麼錯?根據教科書中的例子,這應該是足夠的代碼,但是在瀏覽器中運行時,我會得到NaN。NaN,則運行BMI計算器
<!DOCTYPE html>
<html lang="en">
<meta charset="utf-8"/>
<html>
<head>
<title>test</title>
</head>
<body>
<p>Vekt: <input type="text" id="txtVekt" /></p>
<p>Hoyde: <input type="text" id="txtHoyde" /></p>
<button id="btnBeregn">Beregn</button>
<p id="resultat"></p>
<script>
window.onload = beregn();
function beregn(){
var hoyde = document.getElementById("txtHoyde").value;
var vekt = document.getElementById("txtVekt").value;
var bmi = vekt/(hoyde * vekt);
document.getElementById("resultat").innerHTML = "Din BMI er: " + bmi;
}
</script>
</body>
</html>
那麼,你期望'document.getElementById(「txtHoyde」).value'在頁面加載後立即返回什麼?從我所看到的,沒有任何價值。如果我沒有價值並對其進行數學運算,那麼肯定結果必須是Notanumber。 – csmckelvey
你在文本框默認爲0初始值那麼你的'vekt /(hoyde * vekt)'由0 –
窗口的onload事件觸發時現場負載分配,所以當用戶打開該網站。那時(我認爲,文本輸入是空的)。另外,如果你這樣做,函數beregnen將立即執行。另外,你需要用parseFloat(或類似的東西)解析文本輸入的值。 – scriptify