JavaScript空值错误
我用Javascript创建了这个简单的应用程序,但是我一直收到一个错误,上面写着“JavaScript空值错误,javascript,null,Javascript,Null,我用Javascript创建了这个简单的应用程序,但是我一直收到一个错误,上面写着“uncaughttypeerror:cannotreadproperty'value'为null”,这发生在“var age=document.getElementById(“age”).value;”行上。我一直在到处寻找这个问题,但我就是看不到它。请检查我的代码并帮助我。谢谢 <script> function calculateBMR() { var ge
uncaughttypeerror:cannotreadproperty'value'为null
”,这发生在“var age=document.getElementById(“age”).value;
”行上。我一直在到处寻找这个问题,但我就是看不到它。请检查我的代码并帮助我。谢谢
<script>
function calculateBMR()
{
var gender = document.getElementById("gender").value;
var age = document.getElementById("age").value;
var weigth = document.getElementById("weight").value;
var heigth = document.getElementById("height").value;
console.log(gender);
if (gender == "male")
{
var result = 66 + ( 6.23 * weight) + ( 12.7 * height ) - ( 6.8 *age );
}
else if (gender == "female")
{
var result = 655 + ( 4.35 * weight ) + ( 4.7 * height ) - ( 4.7 * age );
}
document.bmrForm.bmr.value = result;
};
</script>
<form name = "bmrForm">
Gender:
<br />
<select id="gender">
<option value="male">male</option>
<option value="female">female</option>
</select>
<br />
Age:
<br />
<input type = "text" name ="age" size = "10">
<br />
Weigth (lb.) :
<br />
<input type = "text" name ="weight" size = "10">
<br />
Heigth (inches) :
<br />
<input type = "text" name = "height" size = "10">
<br />
<br />
<input type = "button" value = "Calculate BMR" onClick = "calculateBMR();">
<br />
<br />
BMR:
<br />
<input type = "text" name = "bmr">
</form>
函数calculateBMR()
{
var-gender=document.getElementById(“性别”).value;
var age=document.getElementById(“age”).value;
var weigth=document.getElementById(“权重”).value;
var heigth=document.getElementById(“高度”).value;
console.log(性别);
如果(性别=“男性”)
{
var结果=66+(6.23*体重)+(12.7*身高)-(6.8*年龄);
}
否则,如果(性别=“女性”)
{
var结果=655+(4.35*体重)+(4.7*身高)-(4.7*年龄);
}
document.bmrForm.bmr.value=结果;
};
性别:
男性的
女性的
年龄:
重量(磅):
高度(英寸):
BMR:
您正在查找ID为age
、height
和weight
的元素,但没有具有这些ID的HTML元素
试着这样使用它们:<input type = "text" name ="age" size = "10" id="age">
<input type = "text" name ="weight" size = "10" id="weight">
<input type = "text" name ="height" size = "10" id="height">
在
年龄
,体重
,身高
页面上找不到ID,我不明白为什么这是公认的答案,因为它无法识别拼写错误(“身高”与“身高”),这会导致程序无法运行,也没有指出你不能直接用.value
的结果做数值运算(因为它是一个字符串)。@torazaburo谢谢你纠正我的答案。但是,Mike只在字符串上使用*
,只要用户输入是有效的数字,就可以了。我将相应地编辑我的答案
var ageElement = document.getElementById('age');
if (ageElement != undefined)
age = Number(ageElement.value);
if (Number.isNaN(age))
// Do your calculations.