5
respostas

3 problemas :reset , info, e repetição de paciente

Me perdi um pouco rs , 1- não está adicionando o info aos novos cadastros, 2 -está cadastrando dados iguais, 3 -não está resetando,... Help me please...rs .

https://github.com/Rogers777/principal.js/blob/master/alura%20cusrso

=https://github.com/Rogers777/indexAp-nutricionista/blob/master/pagino%20Ap%20nut

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

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

    var pacienteTr = montaTr(paciente);

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

    tabela.appendChild(pacienteTr);


    form.reset();
});

function obtemPacienteDoFormulario(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 montaTd(dado, classe) {
    var td = document.createElement("td");
    td.classList.add("info-nome");
    td.textContent = paciente.nome;

    return td;
}
function montaTr(paciente) {
    var pacienteTr = document.createElement("tr");
    pacienteTr.classList.add("paciente");

    var nomeTd = montaTd(paciente.nome, "info-nome");
    var pesoTd = montaTd(paciente.peso, "info-peso");
    var alturaTd = montaTd(paciente.altura, "info-peso");
    var gorduraTd = montaTd(paciente.gordura, "info-gordura");
    var imcTd = montaTd(paciente.imc, "info-imc");

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

    return pacienteTr;
}
5 respostas

Oi, Rogers, tudo bem?

Na sua função montaTd você declara as variáveis de parâmetro mas não as chama, no caso, dado e classe, ela é apresentada como se não houvesse sido declarada, para que seja declarada, precisamos chamar ela dentro da função:


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

    return td;
}

Assim, os dados serão inseridos na tabela, já estamos criando com essa função uma linha na nossa tabela.

testa e me fala se deu certo :}

Boa tarde Laís! Deu certo! Obrigado!,Agora falta só o item 3 (cadastrando dados iguais. )

insira seu código aqui

Oi, Rogers, tudo bem?

O que seriam esses dados iguais? Quando eu cadastro um paciente não é duplicado o cadastro do form.

Oi Laís! Eu que entendi errado, achei que não haveria a possibilidade de adicionar um paciente com dados iguais, mas revendo o a aula a partir dos 13 mim., vi que o form.reset apenas limpa os campos, mas não impede de fazer outro cadastro idêntico. Obrigado por enquanto!!

insira seu código aqui

Oi, Rogers!

Sim! Magina, precisando é só falar :}