我已经写了一段代码
将'基础代谢率'与选项选择标签中的活动因子相乘并提供每日卡路里要求
将每日卡路里需求乘以0.8,使卡路里减少20%
当我在浏览器中运行脚本时,它会出现以下错误
未捕获的TypeError:无法设置未定义的属性“值”
我认为问题出在select-option标签上。我是js的新手,所以任何帮助都会非常感激
HTML代码
<form name="form2" method="post">
<fieldset>
<p>
<label>Input your BMR here</label>
<input name="a">
</p>
<p>
<label>Select your activity level</label>
<select name="b">
<option value="0.2" selected>No sport/exercise</option>
<option value="0.375" >Light activity (sport/exercise 1-3 times per week)</option>
<option value="0.55" >Moderate activity (sport/exercise 3-5 times per week)</option>
<option value="0.725" >High activity (everyday exercise)</option>
<option value="0.9" >Extreme activity (professional athlete)</option>
</p>
<input onclick=perc2() type=button value=Calculate>
<p>
<label>Your maintainence calories:</label>
<input name="total1">
</p>
<p>
<label>Calories required to lose weight</label>
<input name="total2">
</p>
<input type=reset value=Reset>
</fieldset>
</form>
的Javascript
<SCRIPT>
<!--
function perc2() {
a = document.form2.a.value;
b = document.form2.b.value;
c = a*b
d = c*0.8
e = Math.round(c, 1)
f = Math.round(d, 1)
document.form2.total1.value = e
document.form2.total2.value = f
}
//-->
</SCRIPT>
答案 0 :(得分:1)
在JavaScript中获取表单元素的正确方法是使用getElementById()
在此代码中例如:
a = document.form2.a.value;
a未定义,因为您使用的是无效的获取值的方法。 相反,你应该使用:
a = document.getElementById("a").value;
编辑:同时在输入字段中添加ID