我是javascript的新手,并尝试制作一个基本的BMI计算器。 但是当我点击计算时,我必须做错了,因为它显示'NaN'。 有什么想法吗? 感谢
<!DOCTYPE html>
<html>
<body>
<form>
Height: <input id="h" type="text" name="height"><br>
Weight: <input id="w" type="text" name="weight">
</form>
<button onclick="myFunction()">Calculate</button>
<p id="bmi"></p>
<script>
function myFunction()
{
var h;
var w;
var x=Math.round(w/(h*h));
var demoP=document.getElementById("bmi")
demoP.innerHTML="Your BMI is: " + x;
}
</script>
</body>
</html>
答案 0 :(得分:3)
试试这个:
function myFunction() {
var h = document.getElementById("h").value;
var w = document.getElementById("w").value;
var demoP = document.getElementById("bmi");
var x;
//checking are h and w numbers
if (isNaN(h) || isNaN(w)) {
x = 'Bad value';
} else {
x = Math.round(w/(h*h));
}
demoP.innerHTML="Your BMI is: " + x;
}
答案 1 :(得分:2)
试试这个,
已添加
var h = document.getElementById("h").value;
var w = document.getElementById("w").value;
Jaavscript:
function myFunction()
{
var h = document.getElementById("h").value;
var w = document.getElementById("w").value;
if((h!="" && isNaN(h)) && (w!="" && isNaN(w) ){
var x=Math.round(w/(h*h));
var demoP=document.getElementById("bmi");
demoP.innerHTML="Your BMI is: " + x;
}
}
答案 2 :(得分:2)
一些变化:
var h = document.getElementById("h").value;
var w = document.getElementById("w").value;
答案 3 :(得分:2)
var h = document.getElementById("h").value;
var w = document.getElementById("w").value;
请使用上面的代码初始化h和w的值。确认user2110655
答案 4 :(得分:0)
var h;
var w;
var x=Math.round(w/(h*h));
h
和w
尚未初始化。因此X不是数字。
答案 5 :(得分:0)
var h = parseInt(document.getElementById('h').value());
var w = parseInt(document.getElementById('w').value());