1
resposta

event.preventDefault não funciona

não sei oq aconteceu, o event . preventDefault estava funcionado direitinho mas agora n funciona mais

tava funcionando quando estava assim

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

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

    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;
    imcTd.textContent = calcImc(peso,altura)

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

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

    tabela.appendChild(pacienteTr);

});

mas quando eu deixei assim parou de funcionar

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

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

    var paciente = extraiDoForm(form);

    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 = paciente.nome.value;
    pesoTd.textContent = paciente.peso.value;
    alturaTd.textContent = paciente.altura.value;
    gorduraTd.textContent = paciente.gordura.value;
    imcTd.textContent = calcImc(paciente.peso.value,paciente.altura.value)

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

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

    tabela.appendChild(pacienteTr);

});

function extraiDoForm(form){

    var paciente{
        nome: form.nome.value,
        peso: form.peso.value,
        altura: form.altura.value,
        gordura: form.gordura.value,
        imc: calcImc(form.peso.value,form.altura.value)
    }
    return paciente;
}

alguém sabe oq eu fiz de errado? ta igual o do video

1 resposta

Boa tarde, meu xará! Como vai?

O que ocorre é que vc tem que adicionar o eventListener() ao formulário e não ao botão. E o evento não é o click e sim o submit. Faça essas correções e veja se o código funcionar da forma como vc desejava.

Obs.: Sempre que for postar um código, utilize o botão "inserir código" e cole-o no lugar indicado para que seja postado com a formatação correta.

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!