1
respuesta

Practica Final - IMC Calcular con Js

 // Capturando los datos, para verlos en HTML
 let botonAdd = document.querySelector("#adicionar-paciente");
 botonAdd.addEventListener("click", function(){
     event.preventDefault();

     let form = document.querySelector("#form-add");

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

     let tabla = document.querySelector("#tabla-pacientes"); //se agregó la tabla para poder mostrar la info capturada en el html

     console.log(nombre);
     console.log(peso);
     console.log(altura);
     console.log(gordura);

     // Creando Tags, para verlos en HTML

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

     //adicionando la info capturada a los tags

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

     //Asociando para dar jerarquias - designación de objeto hijo a obj padre

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

     tabla.appendChild(pacienteTr);//se agregó la tabla para poder mostrar la info capturada en el html

     console.log(pacienteTr);//test

     //funcion IMC para calcular esté, con los datos capturados


 });

calcular IMC:

    let pacientes = document.querySelectorAll(".paciente");

    for(let i = 0; i < pacientes.length; i++){
        let paciente = pacientes[i];

        let tdPeso = paciente.querySelector(".info-peso");
        let peso = tdPeso.textContent;

        let tdAltura = paciente.querySelector(".info-altura");
        let altura = tdAltura.textContent;

        let tdIMC = paciente.querySelector(".info-imc");

        let imc = (peso / (altura * altura));

        tdIMC.textContent = imc;

        pesoEsValido = true;
        alturaEsValida = true;

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

        }

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

        }

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


    }

    //encapsulando la función para reutilizarla en otros .Js

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

Hola Daniel , espero que estés muy bien.

Felicitaciones por tu aprendizaje. Estamos priorizando el foro para postear dudas, así optimizamos el tiempo de respuesta para ustedes.

Para no dejar de compartir los códigos, actividades y ejercicios que realizas, creamos un canal en Discord (#compartatucodigo) donde puedes compartirlos, dar y sugerir mejoras con el resto de tus compañeros.

Un saludo.

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios