我是一名javaScript初学者, 我正在编写一个计算BMI的简单代码。 两个文本框输入您的身高和体重,然后按下按钮"计算"将计算公式。 if / else将获得结果并说出你的身体数字。最后会提醒计算数字和数字!我想知道为什么我的功能无法正常工作,以及如何编写正确的功能来提醒结果。谢谢。
<!DOCTYPE html>
<html>
<body>
<form name="form" id="form">
BMI_Calculator
<br>
Please enter your height(m)
<input type="numbers" name="height" id="height">
<br>
Please enter your weight(kg)
<input type="numbers" name="weight" id="weight">
</form>
<input type="button" value="Calculate" onclick="add();"></button>
这就是功能。这是我的想法,当完成计算后,将结果(&#39; z&#39;)放入compare()并执行if / else。如果我的概念有误,请告诉我。谢谢!
function add() {
var z,s;
var x=parseFloat(document.getElementById('height').value);
var y=parseFloat(document.getElementById('weight').value);
s=x*x;
z=y/s;
compare(z);
}
function compare() {
if(z <= 18) {
alert("too thin!");
} else if( z <= 18 && z < 24 ){
alert("standard!");
} else {
alert("too fat!");
}
}
答案 0 :(得分:2)
您尚未接受z
作为compare
功能中的参数。你的一个陈述也是错误的语法。你可以写这样的条件
function add() {
var z,s;
var x=parseFloat(document.getElementById('height').value);
var y=parseFloat(document.getElementById('weight').value);
s=x*x;
z=y/s;
compare(z);
}
function compare(z) {
// ^
if (z <= 18) {
alert("too thin!");
} else if (z < 24) {
alert("standard!");
} else {
alert("too fat!");
}
}
<form name="form" id="form">
BMI_Calculator
<br>
Please enter your height(m)
<input type="numbers" name="height" id="height">
<br>
Please enter your weight(kg)
<input type="numbers" name="weight" id="weight">
</form>
<input type="button" value="Calculate" onclick="add();">
答案 1 :(得分:0)
您没有将值传递给函数。
答案 2 :(得分:0)
函数compare必须接受传递的参数
function compare(z) {
if(z<=18){
alert("too thin!");
}else if(z<=18&&z<24){
alert("standard!");
}else if(z>=24){
alert("too fat!");
}
}