1
resposta

calcula-imc.js:17 Uncaught ReferenceError: validaAltura is not defined

Estou com um erro na linha 17 var alturaEhValida = validaAltura(altura); Poderia me ajudar a entender onde estou errando ?

calcula-imc.js var titulo = document.querySelector(".titulo"); titulo.textContent = "Aparecida Nutricionista";

var pacientes = document.querySelectorAll(".paciente");

for (var i = 0; i < pacientes.length; i++){ var paciente = pacientes[i];

var tdPeso = paciente.querySelector(".info-peso"); var peso = tdPeso.textContent;

var tdAltura = paciente.querySelector(".info-altura"); var altura = tdAltura.textContent; var tdImc = paciente.querySelector(".info-imc");

var pesoEhValido = validaPeso(peso); var alturaEhValida = validaAltura(altura); //erro aqui

if(!pesoEhValido){ console.log("Peso Inválido") pesoEhValido = false; tdImc.textContent = "Peso Inválido !"; paciente.classList.add("paciente-invalido"); }

if (!alturaEhValida){ console.log("Altura inválida!"); alturaEhValida = false; tdImc.textContent = "Altura inválida !"; paciente.classList.add("paciente-invalido"); }

if ( alturaEhValida && pesoEhValido){ var imc = calculaImc(peso,altura); tdImc.textContent = imc; } function validaPeso(peso){ if (peso >= 0 && peso < 1000){ return true; }else{ return false;

} function validaAltura(altura){ if (altura >= 0 && altura <= 3.0){ return true; }else{ return "Altura inválida"; }

function calculaImc(peso, altura){ var imc = 0; imc = peso / (altura * altura); return imc.toFixed(2); }

1 resposta

Provavelmente você que não está chamando o script da função da validaAltura. Recomendo olhar aqui sobre escopo https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Errors/Not_defined Caso não consiga, se conseguir , compartilhar todo código para que possamos lhe ajudar.