Prezados,
o innerHTML do meu codigo não está fazendo a funçao dele..quando o coloco ele alem de não fazer sua funçao ele ainda permite que eu insira campo em branco na tabeal...o codigo segue abaixo.
var botaoAdicionar = document.querySelector("#adicionar-paciente");
botaoAdicionar.addEventListener("click", function(event) {
event.preventDefault();
var form = document.querySelector("#form-adiciona"); //1)
var paciente = obtemPacientedoFormulario(form); //2)chamou o objeto paciente
//var tabela = document.querySelector("#tabela-pacientes");
var pacienteTr = montarTr(paciente); //3)
var erros = validaPaciente(paciente);
console.log(erros);
if(erros.length > 0 ){ //se houver mensagem passo no <span>
//var mensagemErro = document.querySelector("#mensagens-erro");
// mensagemErro.textContent = erro; //vai chamar a funçao
//return;
exibeMensagemsDeErro(erros);
}
var tabela = document.querySelector("#tabela-pacientes"); //4) procula a tabela o id tabela-pacientes
tabela.appendChild(pacienteTr); //5) adociona dependencia a eles
form.reset(); //limpa os campos pego as mensagens de erro
var dn = document.querySelector("#mensagens-erro");
dn.innerHTML = "";
}); ///é do botao Click
function exibeMensagemsDeErro(erros){ //var erros = validaPaciente(paciente);
var ul = document.querySelector("#mensagens-erro");
ul.innerHTML = ""; //toda vez que chama uma nova ul apaga as anterires
erros.forEach(function(erro){ //erro é o item de interaçao do array
var li = document.createElement("li"); //vai criar o li
li.textContent = erro;
ul.appendChild(li);
});
}
function obtemPacientedoFormulario(form){ //passa o formulario pro paciente preencher
var paciente = {
nome: form.nome.value,
peso: form.peso.value,
altura: form.altura.value,
gordura: form.gordura.value,
imc: calcularImc(form.peso.value,form.altura.value) //não colocar virgula no ultimo
// body...
}
return paciente;
}
function montarTr(paciente){
var pacienteTr = document.createElement("tr"); //cria a tr
pacienteTr.classList.add("paciente");
pacienteTr.appendChild(montarTd(paciente.nome,"info-nome")); //adiciona as tds a tr
pacienteTr.appendChild(montarTd(paciente.peso,"info-peso"));
pacienteTr.appendChild(montarTd(paciente.altura,"info-altura"));
pacienteTr.appendChild(montarTd(paciente.gordura,"info-gordura"));
pacienteTr.appendChild(montarTd(paciente.imc,"info-imc"));
//Adicionando o paciente na tabela
return pacienteTr;
}
function montarTd(dado, classe){
var td = document.createElement("td");
td.textContent = dado;
td.classList.add(classe);
return td;
}
function validaPaciente(paciente){ //chama o validaPeso
var erros = []; //erros é uma array de variavel.
//se faça
if ( paciente.nome.length == 0 ) erros.push("O nome do paciente está em branco");
if (!validaPeso(paciente.peso)) erros.push( "O Peso foi invalido");
if (!validaPeso(paciente.peso)) erros.push( "O Peso foi invalido");
if(paciente.gordura.length == 0) erros.push("A gordura do paciente está em branco");
if(paciente.peso.length == 0) erros.push("O Peso do paciente está em branco");
if(paciente.altura.length == 0) erros.push("A altura do paciente está em branco");
return erros;
}