当我在做什么错?根据教科书中的例子,这应该是足够的代码,但是在浏览器中运行时,我会得到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