Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

Ayuda

Buenas tardes, he encontrado un problema, que es cuando el peso y la altura son ambas incorrectas (false ambas), en la página no aparece que ambas son incorrectas, muestra solamente que una de las dos variables es incorrecta. He querido solucionarlo a través del siguiente código pero no se ha resuelto. Por qué? Lo que quiero es que muestre que tanto la altura como el peso son incorrectos. La parte de mi solución está al final del código.

var titulo = document.querySelector(".titulo");
console.log(titulo);
console.log(titulo.textContent);
titulo.textContent = "Buena Vida Nutrición";
console.log(titulo.textContent);

var paciente = document.querySelector("#primer-paciente");
var tdPeso = paciente.querySelector(".info-peso");
var tdAltura = paciente.querySelector(".info-altura");

var peso = tdPeso.textContent;
var altura = tdAltura.textContent;

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

var pesoEsValido = true;
var alturaEsValida = true;

if((peso <= 0) || (peso > 800)) {
    console.log("Peso incorrecto");
    tdImc.textContent = "Peso incorrecto";
    pesoEsValido = false;
}
if((altura  <= 0) || (altura > 3.0)) {
    console.log("Altura incorrecta");
    tdImc.textContent = "Altura incorrecta";
    alturaEsValida = false;
}
if(pesoEsValido && alturaEsValida) {

    var imc = peso / (altura * altura);
    tdImc.textContent = imc;
}
if((pesoEsValido = false) && (alturaEsValida = false)) {
    tdImc.textContent = "Peso y Altura incorrectos";
    console.log("Peso y Altura incorrectos");
}
2 respuestas
solución!

hola Agustin evidentemente no aparecen ambos mensajes por que ambos estan direccionados sobre tdImc.textContent por lo cual solo aparecera una, si queres que salgan ambas podrias cambiar el codigo para que el mensaje salga en la columna peso en lugar de la columna imc. aca te deje como seria: if((peso <= 0) || (peso > 800)) { console.log("Peso incorrecto"); tdPeso.textContent = "Peso incorrecto"; pesoEsValido = false; Para altura seria :

if((altura <= 0) || (altura > 3.0)) { console.log("Altura incorrecta"); tdAltura.textContent = "Altura incorrecta"; alturaEsValida = false;

Muchas gracias Juan Pablo!