¿Todavía no tienes acceso? ¡Estudia con nosotros! Nuestros Planes
¿Todavía no tienes acceso? ¡Estudia con nosotros! Nuestros Planes
1
respuesta

al adicionar paciente con peso o altura incorrecta este se agrega a la tabla de todos modos.

Hola. No se porque el paciente que adicciono a la tabla este se agrega por mas que tengo el peso incorrecto. Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

var botonAdicionar = document.querySelector("#adicionar-paciente");

botonAdicionar.addEventListener("click", function(event){

event.preventDefault();

var form = document.querySelector("#form-adicionar");

var paciente = datosDelPaciente(form);

var tr = contruirTr(paciente);

var tabla = document.querySelector("#tabla-pacientes");

tabla.appendChild(tr);

form.reset();

var errores =  validarPaciente(paciente);

if(errores.length > 0){ mensajeError(errores); return; }

});

function datosDelPaciente(form){ var paciente = { nombre : form.nombre.value, peso : form.peso.value, altura : form.altura.value, gordura : form.gordura.value, imc : calcularIMC(form.peso.value,form.altura.value) } return paciente }

function contruirTr(paciente){

var trPaciente = document.createElement("tr");
trPaciente.classList.add("paciente");


trPaciente.appendChild(contruirTd("info-nombre",paciente.nombre));
trPaciente.appendChild(contruirTd("info-peso",paciente.peso));
trPaciente.appendChild(contruirTd("info-altura",paciente.altura));
trPaciente.appendChild(contruirTd("info-gordura",paciente.gordura));
trPaciente.appendChild(contruirTd("info-imc",paciente.imc));

return trPaciente

}

function contruirTd(clase,dato){ var td = document.createElement("td"); td.classList.add(clase); td.textContent = dato;

return td

}

function validarPaciente(paciente){

var errores = [] if(!pesoValidar(paciente.peso)){ errores.push("el peso es incorrecto") } if(!alturaValidar(paciente.altura)){ errores.push("la altura es incorrecta") }

return errores;

}

function mensajeError(errores){ var ul = document.querySelector("#mensajes-errores");

errores.forEach(function(error){ var li = document.createElement("li"); li.textContent = error; ul.appendChild(li);

}); for(var i=0; i < errores.leght; i++);

}

IMC.js

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");


pesoEsValido = pesoValidar(peso);
alturaEsValida = alturaValidar(altura);

if(!pesoEsValido){
    console.log("Peso incorrecto");
    tdIMC.textContent = "Peso incorrecto";
    pesoEsValido = false;
    paciente.classList.add("paciente-error");
}

if(!alturaEsValida){
    console.log("Altura incorrecta");
    tdIMC.textContent = "Altura incorrecta";
    alturaEsValida = false;
    paciente.classList.add("paciente-error");
}

if(pesoEsValido && alturaEsValida){
    tdIMC.textContent = calcularIMC(peso,altura);
}

}

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

function pesoValidar(peso){ if (peso > 0 && peso < 1000) { return true; }else{ return false; }

}

function alturaValidar(altura){ if(altura > 0 && altura < 4.00){ return true; }else{ return false; } }

1 respuesta

sigue avanzando en las lecciones, pronto el instructor irá mejorando el código, siempre el código es susceptible a mejoras