Javascript 为什么调用时我的函数不起作用?
目前正在做一个BMR计算器的练习,但我似乎无法让这个函数工作。如果选中了“阳性”单选按钮,但未显示警报,则尝试使用阳性bmr公式Javascript 为什么调用时我的函数不起作用?,javascript,html,if-statement,radio-button,Javascript,Html,If Statement,Radio Button,目前正在做一个BMR计算器的练习,但我似乎无法让这个函数工作。如果选中了“阳性”单选按钮,但未显示警报,则尝试使用阳性bmr公式 <script> if(gender==male){ function bmr(weight, height, age) { var malebmr = (66 + (13.7 * weight) + (5 * height) - (6.8 * age)); return malebm
<script>
if(gender==male){
function bmr(weight, height, age) {
var malebmr = (66 + (13.7 * weight) + (5 * height) - (6.8 * age));
return malebmr;
}
else {
function bmr(weight, height, age) {
var femalebmr = (655 + (9.5 * weight) + (1.8 * height) - (4.7 * age));
return femalebmr;
}
}
}
function calculatebmr() {
alert(bmr(parseFloat(document.bmiform.weight.value),
parseFloat(document.bmiform.height.value),
parseFloat(document.bmiform.age.value)));
}
</script>
<fieldset data-role="controlgroup" data-type="horizontal">
<legend>Gender</legend>
<label for="male">Male</label>
<input type="radio" name="gender" value="male" id="male" checked>
<label for="female">Female</label>
<input type="radio" name="gender" value="female" id="female">
</fieldset>
<input type="button" value="Calculate"
onclick="calculatebmr()">
代码有很多问题,所以我建议您阅读一些关于javascript的教程。另外,您显示的代码不包含BMI表单,但我认为表单在您的代码中 问题1 括号不匹配。谢谢多米西 问题2 您不需要有两个bmr函数。您必须在函数内部测试所选的性别。谢谢你 问题3 您不能仅仅测试性别==男性,原因有二: 性别尚未确定 男性是未定义的 您必须使用:
if (document.getElementById("male").checked) {
还记得我在问题2中说的吗
谢谢你
正确代码
我认为,如果你能借助上述描述,让它自己发挥作用,你会学到更多。但是如果你只是想要一个工作代码,那就来吧
Html:
您当前的代码工作正常,
如果您有输入体重、身高和年龄的BMI表格
Javascript:
问一个比我了解得更多的人:
HTML5中允许使用它吗
document.bmiform.weight.value
或者我们必须使用
document.getElementById('weight').value
还是别的什么
请原谅我的英语,我来自芬兰:calculatebmr在哪里?我建议学习一些基本的JavaScript和web编程教程。SO格式的代码有太多明显的基本问题。@nicholas我刚刚格式化了代码。现在您可以清楚地看到,在第一个if中有一个括号不匹配。例如,您需要一个括号来包含一个如下的函数:函数bmrweight,height,age{if document.getElementByIdmale.checked返回66+13.7*weight+5*height-6.8*age;否则返回655+9.5*weight+1.8*height-4.7*age;}根据这篇文章,这些集合已经过时了:-我不再使用它们,但是在将表单传递给函数时它们是有意义的:function calculatebmrtheForm{var height=parseintheform.height.value,10。。。
document.getElementById('weight').value