Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Comparto mi código con una función que calcula el IMC

let patients = document.querySelectorAll(".paciente"); let btnAgregarP = document.querySelector('#btnAgregar');

function calcular(peso, altura){

if((peso>30 && peso<300) && (altura>0.5 && altura<2.5)){
    return (peso / (altura*altura));
    tbimc.textContent = imc;    
}else{
    return "ERROR"
};

};

// Función que captura los datos del formulario btnAgregarP.addEventListener('click', function(event){

event.preventDefault();

let formAdd = document.querySelector('#frmPacientes');
//console.log(formAdd);
let tabla = document.querySelector('#tabla-pacientes');


// Asigno los valores de los input a las variables
let id = formAdd.ids.value;
let nombre = formAdd.nombre.value;
let peso = formAdd.peso.value;
let altura = formAdd.altura.value;
let mc = formAdd.masaCorporal.value;
let tbimc = 0;

// Creo las columnas para luego asignar los valores
let pacienteTr = document.createElement('tr');
let idTd = document.createElement('td');
let nombreTd = document.createElement('td');
let pesoTd = document.createElement('td');
let alturaTd = document.createElement('td');
let mcTd = document.createElement('td');
let imcTd = document.createElement('td');

// Asigno los valores a las columnas Td previamente creadas
idTd.textContent = id;
nombreTd.textContent = nombre;
pesoTd.textContent = peso;
alturaTd.textContent = altura;
mcTd.textContent = mc;
imcTd.textContent = tbimc;

// A la fila Tr creada le asigno sus hijos Td que ya tiene un valor asignado
// dentro de los ( ) se coloca el Td creado
pacienteTr.appendChild(idTd);
pacienteTr.appendChild(nombreTd);
pacienteTr.appendChild(pesoTd);
pacienteTr.appendChild(alturaTd);
pacienteTr.appendChild(mcTd);
pacienteTr.appendChild(imcTd);

// Asigno todos los Tr creados en pacienteTr a la tabla
tabla.appendChild(pacienteTr);

let result = calcular(peso, altura);

if(result === "ERROR"){
    imcTd.textContent = result;
    imcTd.classList.add('errores'); // llamo a mi clase que cree dentro de los style
}else{
    imcTd.textContent = result;
};

});

for(let i=0; i<patients.length; i++){

let pat = patients[i];
let tbimc = pat.querySelector('.imc');

let tdPeso = pat.querySelector('.peso');
let tdAltura = pat.querySelector('.altura');

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

let result = calcular(peso, altura);

if(result === "ERROR"){
    tbimc.textContent = result;
    tbimc.classList.add('errores'); // llamo a mi clase que cree dentro de los style
}else{
    tbimc.textContent = result;
};

}; console.log('Fin del Proceso');

1 respuesta
solución!

Gracias Mauricio por compartir, gran trabajo, saludos