Boa tarde GUJ,
Estou fazendo um exercício relacionado ao calculo de IMC, possuo pacientes dentro da tag tr
no próprio HTML,o exercício consiste em fazer com que não seja necessário adicionar mais td
no HTML sempre que existir novos clientes, mas sim ocorrer o preenchimento do formulário que está logo abaixo da tabela. Para chegar e fazer o botão funcionar eu utilizei um addEventListener
, como abaixo:
O grande problema é que o addEventListener não está funcionando, aparecendo
a seguinte mensagem:
Uncaught TypeError: Cannot read property ‘addEventListener’ of undefined
Onde eu definiria ela? Já tentei até declarar a variável título, sem sucesso.
Código .js:
var pacientes = document.querySelectorAll(".paciente"); //Classe selecionada para o loop.
//Loop logo abaixo...
for (var i = 0; i < pacientes.length; i++) { //length para selecionar toda a lista.
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");
//Validações do código...
var pesoEhValido = true;
var alturaEhValida = true;
if (peso <= 0 || peso >= 1000) {
console.log("Peso inválido!");
pesoEhValido = false;
tdImc.textContent = "Peso inválido";
paciente.classList.add("paciente-invalido")
}
if (altura <= 0 || altura >= 3.00) {
console.log("Altura inválida!");
alturaEhValida = false;
tdImc.textContent = "Altura inválida";
paciente.classList.add("paciente-invalido") //classList.add serve para adicionar uma classe ao código.
}
if (alturaEhValida && pesoEhValido) {
var imc = peso / (altura * altura);
tdImc.textContent = imc.toFixed(2); //toFixed para limitar a quantidade de decimais.
}
}
var titulo = titulo
titulo.addEventListener("click", function (){
console.log("Clicado.")
});