3
respostas

adicionaPacienteNaTabela is not defined

Estou encontrando esse erro e não consigo achar a solução, nem mesmo nas outras respostas do fórum. A seguir o form.js e o buscar-pacientes.js:

form.js


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

                function pegaDadosDoForm(form){

                    var paciente = {
                    nome: form.nome.value,
                    peso: form.peso.value,
                    altura: form.altura.value,
                    gordura: form.gordura.value,
                    imc: calculaImc(form.peso.value, form.altura.value)
                    }

                    return paciente;
                }

                function criaTd(dado, classe){
                    var td = document.createElement("td");
                    td.textContent = dado;
                    td.classList.add(classe);

                    return td;
                }

                function criaTr(paciente){
                var pacienteTr = document.createElement("tr");
                pacienteTr.classList.add("paciente");

                pacienteTr.appendChild(criaTd(paciente.nome, "info-nome"));
                pacienteTr.appendChild(criaTd(paciente.peso, "info-peso"));
                pacienteTr.appendChild(criaTd(paciente.altura, "info-altura"));
                pacienteTr.appendChild(criaTd(paciente.gordura, "info-gordura"));
                pacienteTr.appendChild(criaTd(paciente.imc, "info-imc"));



                    return pacienteTr;
                }


                function validaPaciente(paciente){
                    var erros = [];

                    if (paciente.nome.length == 0){
                        erros.push("O campo Nome está em branco.");
                    }

                    if (!validaPeso(paciente.peso)){
                        erros.push("Peso é inválido!");
                    }

                    if (!validaAltura(paciente.altura)){
                        erros.push("Altura é inválida!");
                    }

                    if (paciente.gordura.length == 0){
                        erros.push("O campo % de Gordura está em branco.")
                    }

                    return erros;
                }


                function exibeMensagensErro(erros){
                    var ul = document.querySelector("#mensagens-erro");
                    ul.innerHTML = "";
                    erros.forEach(function(erro){
                        var li = document.createElement("li");
                        li.textContent = erro;
                        ul.appendChild(li);
                    });
                }

                function adicionaPacienteNaTabela(paciente){
                    var pacienteTr = criaTr(paciente);
                    var tabela = document.querySelector("#tabela-pacientes");
                    tabela.appendChild(pacienteTr);
                }



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

                var paciente = pegaDadosDoForm(form);



                var erros = validaPaciente(paciente);
                console.log(erros);
                if (erros.length > 0){
                    exibeMensagensErro(erros);
                    return;
                }

                adicionaPacienteNaTabela(paciente);


                form.reset();

                var mensagensErro = document.querySelector("#mensagens-erro");
                mensagensErro.innerHTML = "";




            })

buscar-pacientes.js

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

botaoAdicionar.addEventListener("click", function(){ var xhr = new XMLHttpRequest();

xhr.open("GET", "https://api-pacientes.herokuapp.com/pacientes");

xhr.addEventListener("load", function(){
    var resposta = xhr.responseText;
    var pacientes = JSON.parse(resposta);

    pacientes.forEach(function(paciente){
        adicionaPacienteNaTabela(paciente);
    });
});

xhr.send();

});

3 respostas

qual o erro ?

buscar-pacientes.js:13 Uncaught ReferenceError: adicionaPacienteNaTabela is not defined at buscar-pacientes.js:13 at Array.forEach () at XMLHttpRequest. (buscar-pacientes.js:12)

Cara tenta tirar as funcoes (criaTr e adicionaPacienteNaTabela ) fora do botaoAdicionar.addEventListener coloca fora.