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

valores cambiados

cuando cargo el paciente el los valores ingresado en el peso en el input en la tabla se carga como valor de altura. y visceversa! Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidadcodigo de form

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

botonAdicionar.addEventListener ("click", function(event){
    event.preventDefault();
    var form = document.querySelector ("#form-adicionar");

    var nombre = form.nombre.value;
    var peso = form.peso.value;
    var altura = form.altura.value;
    var gordura = form.gordura.value;

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

   pacienteTr = document.createElement("tr");
   nombreTd = document.createElement ("td");
   pesoTd = document.createElement("td");
   alturaTd = document.createElement("td");
   gorduraTd = document.createElement("td");
   imcTd = document.createElement("td");

   nombreTd.textContent = nombre;
   alturaTd.textContent = peso;
   pesoTd.textContent = altura;
   gorduraTd.textContent = gordura;
   imcTd.textContent = calcularIMC(peso,altura);

   pacienteTr.appendChild(nombreTd);
   pacienteTr.appendChild(pesoTd);
   pacienteTr.appendChild(alturaTd);
   pacienteTr.appendChild(gorduraTd);
   pacienteTr.appendChild(imcTd);

   tabla.appendChild(pacienteTr);
});
var pacientes = document.querySelectorAll (".paciente");

for (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 = true;
    alturaEsValida = true;

    if ((peso < 0) || (peso > 1000)){
        console.log("peso incorrecto");
        pesoEsValido = false;
        tdIMC.textContent = "Peso incorrecto"
        paciente.classList.add ("paciente-incorrecto");
    }

    if ((altura < 0) || (altura > 3.00)){
        console.log("altura incorrecto");
        alturaEsValida = false;
        tdIMC.textContent = "Altura incorrecta"
        paciente.classList.add ("paciente-incorrecto");
    }

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

function calcularIMC(peso,alrura){
    var imc = peso / (altura * altura);
    return imc.toFixed (2);
}
2 respuestas
solución!

Esteban, lo que creo que te esta aconteciendo es que estan los valores cambiados de posicion en la toma de datos de el archivo java, es decir debes cambiarlos de posicion , si tenes primero la toma de peso, debes poner el de altura, vos los tenes al reves. Te paso un ejemplo de como te deben quedar

`  pacienteTr.appendChild(nombreTd);
    pacienteTr.appendChild(alturaTd);
    pacienteTr.appendChild(pesoTd);
    pacienteTr.appendChild(gorduraTd);
    pacienteTr.appendChild(imcTd);`

no me habia dado cuenta! muchisimas gracias