简单的BMR计算器HTML JavaScript

时间:2017-04-13 02:19:46

标签: javascript html

这是我学期论文的开头。 有什么不对,为什么?

我的计算器没有显示结果。



<!DOCTYPE html>

<html>

<head>

<script>

var bmr;
var age = document.getElementById("age").value;
var gender = document.getElementById("gender").value;
var height = document.getElementById("height").value;
var weigth = document.getElementById("weigth").value;

if (gender == "masc") {
bmr = 66.5 + ( 13.75 * weigth ) + ( 5.003 * height ) – ( 6.755 * age )
}
else {
bmr = 655.1 + ( 9.563 * weigth ) + ( 1.850 * height ) – ( 4.676 * age )
}

</script>

</head>

<body>

<form action="#">
  <input type="radio" id="gender" value="masc" checked> Male<br>
  <input type="radio" id="gender" value="fem"> Female<br>
  Age:<br>
  <input type="number" id="age" value="20"><br>
  Height:<br>
  <input type="number" id="height" value="180"><br>
  Weight:<br>
  <input type="number" id="weigth" value="80"><br>
</form>

<button type="button"
onclick="document.getElementById('lblResult').innerHTML = bmr">
Result</button>

<p id="lblResult">BMR</p>

</body>

</html>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

就像上面提到的评论一样,你的代码中有一个短划线而不是减号,阻止它工作。

bmr = 66.5 + ( 13.75 * weigth ) + ( 5.003 * height ) here-> - ( 6.755 * age )

当您选择未加载的元素时,您还必须将脚本移动到html文件的末尾,就在关闭</body>标记之前,因为它不起作用。< / p>

onclick事件不会按照您的意图运行,如果您在脚本中创建事件,它会更好。

 document.getElementsByTagName("button")[0].addEventListener("click", 
 function() {
   calc();
   document.getElementById('lblResult').innerHTML = bmr;

 })

您还可以在一个函数中移动计算代码,这样您就可以再次计算这些值,因为只要您点击结果就会得到相同的值。

这是一个有效的Example