2
respostas

Não consigo por a mensagem de erro..

Está dando um erro de sintaxe na linha 15 do meu form.js mas não consigo resolver...

https://github.com/Rogers777/index-Ap-Nutricao/blob/master/index.html

https://github.com/Rogers777/calcula_imc.js/blob/master/calcula_imc.js

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 = document.createElement("tr");


    var erro = validaPaciente(paciente);

    if(erro.length >0){

        var mensagemErro.textContent = querySelector("#mensagem");

        mensagemErro.textContent = erro;
        return;
    }

    if (!validaPaciente(paciente)) {
    console.log("Paciente inválido");

        form.reset();

        return;
    }



    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;
    pesoTd.textContent = paciente.peso;
    alturaTd.textContent = paciente.altura;
    gorduraTd.textContent = paciente.gordura;
    imcTd.textContent = paciente.imc;

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

    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 validaPaciente(paciente) {
        if (validaPeso(paciente.peso)) {
            return "";
        } else {
            return "O peso é invalido";
        }
    }
}
insira seu código aqui
2 respostas

Troca

var mensagemErro.textContent = querySelector("#mensagem");

por

var mensagemErro = querySelector("#mensagem");

Tem um textContent sobrando

Olá Daniel! Realmente, tinha um textContent a mais, mas alem de tirar o textContent, tive que chamar o document. querySeletor, pois estava dando indefinição, e tambem substitui a função validaPciente da mensagem no cosole, pela função validaPaciente que estava fora das chaves, ai então deu certo, está aparecendo a mensagem de erro acima do form agora. Obrigado pela ajuda! ivar botaoAdicionar = document.querySelector("#adicionar-paciente"); botaoAdicionar.addEventListener("click", function(event) { event.preventDefault();

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


var erro = validaPaciente(paciente);

if(erro.length >0){

    var mensagemErro = document.querySelector("#mensagem");

    mensagemErro.textContent = erro;


    return;
}




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;
pesoTd.textContent = paciente.peso;
alturaTd.textContent = paciente.altura;
gorduraTd.textContent = paciente.gordura;
imcTd.textContent = paciente.imc;

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

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

form.reset();



function validaPaciente(paciente) {
    if (validaPeso(paciente.peso)) {
        return "";
    } else {
        return "O peso é invalido";
    }
}

});

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;

} nsira seu código aqui `