Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Para saber mais: EventListeners

Em 'Para saber mais', notei que adicionamos o objeto de evento (event) na função callback, que podemos usar dentro da função como desejarmos em algumas funções e, em outras, não. Gostaria de uma explicação mais detalhada, se possível.

Ex.:

const meuFormulario = document.getElementById("meuFormulario");
meuFormulario.addEventListener("submit", function(event) {
  event.preventDefault(); // Impede o envio padrão do formulário
  const nome = event.target.elements.nome.value;
  alert(`O formulário foi enviado com o nome: ${nome}`);
});
2 respostas
solução!

No exemplo de código JavaScript que você mencionou, está sendo utilizado um EventListener para interceptar o evento de envio (submit) de um formulário. O conceito de adicionar um objeto de evento (event) na função callback é uma prática comum em JavaScript para manipular eventos no DOM (Document Object Model). Vou explicar detalhadamente o que está acontecendo no seu código e por que em algumas situações você pode ou não usar o objeto de evento da mesma maneira.

Estrutura do Código

O código que você forneceu está fazendo o seguinte:

  1. Seleção do Elemento do Formulário:

  2. 
    
  3.   const meuFormulario = document.getElementById("meuFormulario");
    
  4.      ```
    
  5.         Aqui, o elemento do formulário é obtido pelo seu ID e armazenado na variável `meuFormulario`.
    
  6. Adição de Event Listener:

  7. 
    
  8.   meuFormulario.addEventListener("submit", function(event) {
    
  9.          event.preventDefault(); // Impede o envio padrão do formulário
    
  10.                 const nome = event.target.elements.nome.value;
    
  11.                        alert(`O formulário foi enviado com o nome: ${nome}`);
    
  12.                           });
    
  13.                              ```
    
  14.                                 Nesta parte, um ouvinte de evento é adicionado ao formulário para capturar o evento de `submit`. A função callback é chamada sempre que o formulário tenta ser enviado.
    

Explicação do Uso do Objeto de Evento

  • event.preventDefault(): Este método é utilizado para impedir o comportamento padrão do evento, que, no caso de um formulário de envio, seria enviar os dados do formulário e recarregar a página. Utilizando preventDefault(), você pode, por exemplo, validar os dados do formulário no lado do cliente antes de enviá-los.

  • event.target: Representa o elemento que disparou o evento. No contexto de um evento de submit de um formulário, event.target seria o próprio formulário. Isso permite acessar diretamente qualquer elemento dentro do formulário, como os campos de entrada.

    • event.target.elements.nome.value: Aqui, elements é uma coleção de todos os elementos dentro do formulário. nome é o nome de um campo dentro desse formulário, e value é o valor inserido nesse campo. Esse modo de acesso é muito útil para coletar e manipular dados dos formulários.

Situações de Uso do Objeto de Evento

Você pode usar o objeto de evento de várias maneiras, dependendo do tipo de evento e do contexto. Em alguns casos, como em eventos de clique onde você pode querer apenas saber qual elemento foi clicado sem necessidade de prevenir o comportamento padrão, o uso de event.preventDefault() pode não ser necessário.

O uso de propriedades como event.target ou métodos como event.preventDefault() dependerá da lógica específica que você deseja implementar em resposta ao evento. É sempre importante entender as características do evento que você está manipulando para fazer o melhor uso do objeto de evento.

Se houver mais alguma dúvida específica ou outra situação de uso que você encontrou e gostaria de discutir, sinta-se à vontade para perguntar!

Obrigada pela objetividade, Rafael. Me ajudou bastante.