Eu optei por colocar o formulário antes da tabela, pois conforme vamos adicionando ele sempre é empurrado para baixo, porem ao fazer isso o novo paciente sempre fica lá no fim não sendo muito prático para acha-lo.
Eu optei por colocar o formulário antes da tabela, pois conforme vamos adicionando ele sempre é empurrado para baixo, porem ao fazer isso o novo paciente sempre fica lá no fim não sendo muito prático para acha-lo.
Oi Flavio, tudo certo?
Voce pode usar o metodo insertBefore para isso.
Se fosse com jQuery seria o prepend
ou prependTo
, depende de onde voce estiver saindo.
Bons estudos!
Abcs!
Esse é o código usado para criar o novo paciente.
var botao = document.querySelector("#adicionar-paciente");
botao.addEventListener('click', function(event){
var pacienteTr = montaTr(paciente);
var tabela = document.querySelector("#tabela-pacientes");
tabela.appendChild(pacienteTr);
})
Para colocar uma nova linha no inicio de uma tabela você pode usar a funçao insertRow. Aqui tem um exemplo de como funciona:
https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/insertRow
Oi Flavio,
A funçãoinsertBefore
do Javascript serve exatamente para isto que você deseja. O seu uso é parecido com o appendChild
, porém temos que especificar na frente de qual elemento queremos inserir o novo elemento.
Como você quer que o novo paciente seja o primeiro da tabela, basta utilizar a função insertBefore
para que o seu novo paciente seja inserido ANTES do primeiro paciente atual da tabela.
Fica o exemplo abaixo:
function adicionaPacienteNaTabela(paciente) {
var novoPaciente = montaTr(paciente);
var tabela = document.querySelector("#tabela-pacientes");
var primeiroPaciente = tabela.querySelector("tr:first-child");
tabela.insertBefore(novoPaciente, primeiroPaciente);
}
Muito obrigado funcionou perfeitamente