1
resposta

Sei que meu erro está na variavel pace

Não consigo consertar o erro, diz:

Uncaught TypeError: Cannot read property 'value' of undefined at obtemPacienteDoFormulario (form.js:44) at HTMLButtonElement. (form.js:7)

TypeError não capturado: Não é possível ler a propriedade 'valor' de indefinido em obtemPacienteDoFormulario (form.js: 44) em HTMLButtonElement. (form.js: 7)

var titulo = document.querySelector(".titulo") titulo.textContent = "Amanda Nutricionista";

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");
var imc = peso /(altura * altura); 
tdImc.textContent = imc;

var pesoEhValido = validaPeso(peso);
var alturaEhValida = validaAltura(altura);

if(!pesoEhValido) {
    console.log("Peso invalido");
    pesoEhValido = false;
    tdImc.textContent = "Peso Invalido";
    paciente.classList.add("paciente-invalido");
}

if(!alturaEhValida) {
    console.log("Altura invalida!");
    alturaEhValida = false;
    tdImc.textContent = "Altura invalida!";//Muda o conteudo tdImc para invalido
    paciente.classList.add("paciente-invalido");
}

if(alturaEhValida && pesoEhValido) {
    var imc = calculaImc(peso,altura);
    tdImc.textContent = imc;//Muda o conteudo tdImc para imc
}

function validaPeso(peso) {
    if(peso > 0 && peso < 1000){

        return true;
    }else {
        return false;
    }

}

function validaAltura(altura) {

    if(altura > 0 && altura < 3.0) {
        return true;
    } else {
        return false;
    }
}

function calculaImc(peso,altura){
    var imc = 0;

    imc = peso / (altura * altura);

    return imc.toFixed(2);
}

}

var titulo = document.querySelector(".titulo")
titulo.textContent = "Amanda Nutricionista";

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");
    var imc = peso /(altura * altura); 
    tdImc.textContent = imc;

    var pesoEhValido = validaPeso(peso);
    var alturaEhValida = validaAltura(altura);

    if(!pesoEhValido) {
        console.log("Peso invalido");
        pesoEhValido = false;
        tdImc.textContent = "Peso Invalido";
        paciente.classList.add("paciente-invalido");
    }

    if(!alturaEhValida) {
        console.log("Altura invalida!");
        alturaEhValida = false;
        tdImc.textContent = "Altura invalida!";//Muda o conteudo tdImc para invalido
        paciente.classList.add("paciente-invalido");
    }

    if(alturaEhValida && pesoEhValido) {
        var imc = calculaImc(peso,altura);
        tdImc.textContent = imc;//Muda o conteudo tdImc para imc
    }

    function validaPeso(peso) {
        if(peso > 0 && peso < 1000){

            return true;
        }else {
            return false;
        }

    }

    function validaAltura(altura) {

        if(altura > 0 && altura < 3.0) {
            return true;
        } else {
            return false;
        }
    }

    function calculaImc(peso,altura){
        var imc = 0;

        imc = peso / (altura * altura);

        return imc.toFixed(2);
    }

}
1 resposta

Oi, Elvis, tudo bem?

Acredito que o erro que você compartilhou se refere ao código de form.jsmas o que você compartilhou se refere ao imc.js. Se puder compartilhar o código do form, conseguirei entender melhor o que pode ter acontecido!