Calcular imc
var titulo = document.querySelector('.titulo');
titulo.textContent = 'YeiJoa Buena Vida Nutrición';
var pacientes = document.querySelectorAll('.paciente');
//Este for encapsula estas variibles y los loops.
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');
//Estas validaciones internas en el ciclo for.
pesoEsVálido = validarPeso(peso);
alturaEsVálida = validarAltura(altura);
//ATENTOS, el if entra si muestra lo incorrecto, entonces la LÓGICA debe cambiar debemos pedir lo contrario, con el cierre del signo de admiración(!) = NO.
//if ((peso < 0) || (peso > 1000)){
if (!pesoEsVálido){
console.log('Peso incorrecto');
tdIMC.textContent = 'Peso incorrecto';
pesoEsVálido = false;
paciente.classList.add('paciente-incorrecto')
}
//if ((altura < 0) || (altura > 3.00)){
if (!alturaEsVálida){
console.log('Altura incorrecta');
tdIMC.textContent = 'Altura incorrecta';
alturaEsVálida = false;
paciente.classList.add('paciente-incorrecto')
}
if (pesoEsVálido && alturaEsVálida){
tdIMC.textContent = calcularIMC(peso,altura);
}
}
//Aquí es la función encapsulada para usar varias veces. Faltaria solo que el pacienteTr adopte otro hijo ms con el .appendChild. Y cómo ya tenemos archivos clasificados eso lo encontraremos en Form.js
function calcularIMC(peso,altura){
var imc = peso / (altura * altura);
console.log(imc);
return imc.toFixed(2);
}
// Aquí la función de validar. Cómo se ha invertido el sentido de la lógica debe retornar verdadero, si no falso. Ojo como se cambia la Lógica también deben cambiar los signos.
function validarPeso(peso){
if (peso >= 0 && peso < 1000){
return true;
} else{
return false;
}
}
function validarAltura(altura){
if (altura >= 0 && altura < 3.00){
return true;
} else{
return false;
}
}