Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[object HTMLInputElement] + repetição da linha de cima

Olá! Estou com um problema estranho. O código parece (parece) estar idêntico ao do professor mas, quando clico no botão para adicionar uma nova tr, atr de cima acaba sendo copiada e criada como sendo a nova. Além disso, estou com o erro [object HTMLInputElement] na td de gordura.

Não estou conseguindo localizar o erro. Podem me dar uma luz?

/* PEGANDO EVENTOS COM CLIQUE DE BOTÃO*/
    /*Pegando a var botao e aplicando um evento de clicar nele*/
    /*Chamando tbm uma função anônima*/


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

    botaoAdicionar.addEventListener("click", function(evento){
        evento.preventDefault();

        /*EXTRAI INFORMAÇÕES DO FORMULÁRIO E CRIA VARIÁVEIS*/
        var formulario = document.querySelector("#form-adiciona");

        var paciente = extraiInformacoesFormulario(formulario);

        /*CRIA A TR E A TD DO PACIENTE*/

        var pacienteTr = montaTr(paciente);


        /*Colocando as td dentro da tr (tabela) via append.child*/
        /*Adicionando os pacientes na tabela*/

        var tabela = document.querySelector("#tabela-pacientes")

        tabela.appendChild(pacienteTr);


    });


// introdução a objetos
// função para obter pacientes do formulário
function extraiInformacoesFormulario(formulario){

        var paciente = {

            nome: formulario.nome.value,
            altura: formulario.altura.value,
            peso: formulario.peso.value,
            gordura:formulario.gordura.value,
            imc:calculaImc(formulario.peso.value,formulario.altura.value)
        }

        return paciente;


}


function montaTr(paciente){

        var pacienteTr = document.createElement("tr");

        /*CRIANDO TDS E TRS NA TABELA USANDO O FORMULÁRIO + BOTAO*/

        var pesoTd = document.createElement("td");
        var alturaTd = document.createElement("td");
        var gorduraTd = document.createElement("td");
        var nomeTd = document.createElement("td");
        var imcTd = document.createElement("td");

        /*PEGANDO A TD QUE FOI CRIADA COM JAVASCRIPT
        E ATRIBUINDO AO TD.TEXTCONTENT DELA O VALOR DAS VARIÁVEIS */

        nomeTd.textContent = paciente.nome;
        pesoTd.textContent = paciente.peso;
        alturaTd.textContent = paciente.altura;
        gorduraTd.textContent = paciente.gordura;
        imcTd.textContent = paciente.imc;

        /*Colocando as td dentro da tr (tabela) via append.child*/


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

        return pacienteTr;


}
2 respostas
solução!

Resolvido

Oi, Maria :}}

Que bom que resolveu, qualquer dúvida é só falar!