如果/其他不起作用,简单的JavaScript按钮onclick功能

时间:2017-10-21 05:30:24

标签: javascript

我是一名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!");
    }
}

3 个答案:

答案 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!");
    }

}