2
respostas

Não consigo trazer valores do input para funções criadas!

<meta charset="utf-8">

<h1>Calculadora de IMC:</h1>
<br>
<br>
<br>
<hr>

Digite o seu nome:                    
<input type="text" name="nombre">
<br><hr>

Digite seu peso:
<input type="number" name="peso">
<button>  Clique aqui para calcular o imc.</button>
<br><hr>

Digite sua altura:
<input type="number" name="altura">
<br><hr>

<script type="text/javascript">


    var nomeInf = document.querySelector("nombre");
    var pesoInf = document.querySelector("peso");
    var alturaInf = document.querySelector("altura");    

    var nome = nomeInf.value;
    var peso = pesoInf.value;
    var altura = alturaInf.value;

    function calculaIMC(peso,altura,){

        var imc = peso/(altura*altura);
        return imc;
    }
    function mostra(texto){
        document.write(texto);
        document.write("<br>");
    }

    function verifica(){
        if(imc<18.5){
            mostra( nomeInf + " você esta abaixo do peso recomendado.");
        }
        if (imc>35) {
            mostra(nomeInf +" você esta acima do peso recomendado.");
        }
        if (imc>=18.5 && imc<=35) {
            mostra( nomeInf+"você esta na faixa de peso recomendada.");
        }
    }
    function finale(){
        calculaIMC(peso, altura);
        verifica();
    }

    var x = document.querySelector("button");
    x.onclick = finale;

</script>
2 respostas

Oi Gabriel, tudo bem? Como você está criando um formulário no universo HTML, você tem que colocar um id em cada tag. Esse name que você criou não está sendo um identificador para o JS.

Além disso, o document.querySelector, ela não irá coletar a informação do input, você deve ter aprendido ela para SELECIONAR o canvas fora do JS. nesse caso, você vai usar o document.getElementById( ) junto do atributo na tag id="nombre". Vou fazer um e você faz os ouros e testa, se não funcionar, me avisa. Que eu vou testar teu código.

` Digite o seu nome: . . .

var nomeInf =document.getElementById( "nombre");

. . .` Qualquer coisa me avisa

oi Germanna, troquei o name do input por id e usei document.getElemntById() mas ainda não consegui resolver esse programa. Botei para rodar, digitei as variáveis, cliquei no botão e nada. Tentei mudar de todas as maneiras mas sempre aparece os mesmos avisos no console de que a var imc não esta definida, ou que a var imc is not a number. Ainda não consegui fazer as informações dos inputs chegarem ao javaS e funcionarem nas funções. Se conseguir dar uma olhada eu agradeço.