In what I'm missing on this Form that Calculates IMC in JavaScript

0
   <script type="text/javascript">

     function calcula_imc(){
        var altura = document.imcForm.altura.value;
        var peso = document.imcForm.peso.value;

         var quadrado = (altura*altura);

         var calculo = (peso/quadrado);
     }

       if (calculo<18.5){
           alert("Abaixo do Peso "+calculo);
       }
       else if (calculo>=18.6 && calculo<24.9){
           alert("Peso ideal (Parabéns) "+calculo);
       }
       else if (calculo>=25 && calculo<29.9){
           alert("Levemente acima do peso "+calculo);
       }
       else if (calculo>=30 && calculo<34.9){
           alert("Obesidade grau I "+calculo);
       }
       else if (calculo>=35 && calculo<39.9){
           alert("Obesidade grau II(Severa) "+calculo);
       }
       else if (calculo>40){
           alert("Obesidade grau III(Mórbida) "+calculo);
       }

   </script>
    
asked by anonymous 14.09.2017 / 01:07

2 answers

3

The key "}" that closes the function is positioned before the function content ends:

function calcula_imc(){
    var altura = document.imcForm.altura.value;
    var peso = document.imcForm.peso.value;

     var quadrado = (altura*altura);

     var calculo = (peso/quadrado);
 } <<---- fechamento da função

Put the key at the end of the code so that all its contents are within the function:

function calcula_imc(){
    var altura = document.imcForm.altura.value;
    var peso = document.imcForm.peso.value;

     var quadrado = (altura*altura);

     var calculo = (peso/quadrado);

   if (calculo<18.5){
       alert("Abaixo do Peso "+calculo);
   }
   else if (calculo>=18.6 && calculo<24.9){
       alert("Peso ideal (Parabéns) "+calculo);
   }
   else if (calculo>=25 && calculo<29.9){
       alert("Levemente acima do peso "+calculo);
   }
   else if (calculo>=30 && calculo<34.9){
       alert("Obesidade grau I "+calculo);
   }
   else if (calculo>=35 && calculo<39.9){
       alert("Obesidade grau II(Severa) "+calculo);
   }
   else if (calculo>40){
       alert("Obesidade grau III(Mórbida) "+calculo);
   }
}
    
14.09.2017 / 01:47
1

It should be noted that the question has been edited, not by the author , and may change the interpretation of the question.

Original question:

  

In what I'm missing on this Form that Calculates IMC in JavaScript

     

Exerc_2_Funcoes

If the intention is to use two functions Exerc_2_Funcoes call the second function result_imc() when executing the first function calcula_imc() .

function calcula_imc(){
    var altura = document.imcForm.altura.value;
    var peso = document.imcForm.peso.value;

     var quadrado = (altura*altura);

     calculo = (peso/quadrado);
     //chama a função 
     result_imc();
}     

     
function result_imc(){
   if (calculo<18.5){
       alert("Abaixo do Peso "+calculo);
   }
   else if (calculo>=18.6 && calculo<24.9){
       alert("Peso ideal (Parabéns) "+calculo);
   }
   else if (calculo>=25 && calculo<29.9){
       alert("Levemente acima do peso "+calculo);
   }
   else if (calculo>=30 && calculo<34.9){
       alert("Obesidade grau I "+calculo);
   }
   else if (calculo>=35 && calculo<39.9){
       alert("Obesidade grau II(Severa) "+calculo);
   }
   else if (calculo>40){
       alert("Obesidade grau III(Mórbida) "+calculo);
   }
} 
<form name="imcForm">
<input type="text" name="altura">
<input type="text" name="peso">
<input type="submit" onclick="calcula_imc()">
</form>
    
14.09.2017 / 02:56