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

A variável para criação da <td> não recebe o valor do formulário

Boa tarde,

As variáveis para criação dos elementos td, não estão recebendo os dados das variáveis que possuem a informação preenchida no formulário. O que há de errado?

Segue o código:

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

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

    var nome = form.nome.value;
    var peso = form.peso.value;
    var altura = form.altura.value;
    var gordura = form.gordura.value;

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

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

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

    pacienteTr.appendChild(nomeTd);
    pacienteTr.appendChild(pesoTd);
    pacienteTr.appendChild(alturaTd);
    pacienteTr.appendChild(gorduraTd);
});
2 respostas
solução!

A dúvida era que, o instrutor conseguia verificar, através do console, se a tr estava recebendo as td's. E ele conseguia

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

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

    console.log(pacienteTr);

Porém ao verificar no meu console, não trazia o valor inserido nas td's, mas várias informações relacionadas a tag tr.

tr
accessKey: ""
accessKeyLabel: ""
align: ""
attributes: NamedNodeMap []
baseURI: "file:///C:/Users/XXX/Desktop/introducao-javascript/index.html?nome=123&peso=&altura="
bgColor: ""
cells: HTMLCollection [ td, td, td, … ]
ch: ""
chOff: ""
[etc]

Só consegui após inserir a tr na tabela.

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

Opa Washington, consegue sugerir isso lá no exercício? Parece que faz sentido adicionar a tr na tabela, já que ela criada dinamicamente no seu js.