Criar formulários da web para websites (tutorial prático)

Ler eficientemente dados de um formulário com JavaScript

Todos os vídeos do tutorial Criar formulários da web para sites (tutorial prático)

Neste tutorial, aprenderá a utilizar o JavaScript para ler e processar os dados introduzidos pelos utilizadores a partir de formulários. Os elementos de formulário são uma parte essencial de qualquer site, pois permitem que os utilizadores introduzam informações. Muitas vezes, pensa-se que é necessário usar estruturas complicadas para isso. Neste artigo, vamos mostrar-lhe como pode processar com êxito os dados do formulário utilizando JavaScript simples.

Principais conclusões

  • Aprenderá a criar formulários, a aceder aos dados do formulário com JavaScript e a impedir o comportamento predefinido dos formulários utilizando preventDefault, para que possa ter controlo sobre a introdução de dados dos seus utilizadores.

Guia passo-a-passo

Comece por criar um formulário HTML simples no seu documento. Certifique-se de que insere corretamente os vários campos de entrada e um botão de submissão.

Quando o formulário estiver visível no browser, pode testá-lo. Introduza um nome no campo de entrada e prima a tecla Enter ou o botão Submeter. Se tudo funcionar corretamente, deve ver um alerta com o nome que introduziu.

Para tal, adicionamos uma etiqueta de script ao seu ficheiro HTML. Neste script, define-se uma função global chamada submitForm que aceita um objeto de evento como parâmetro.

No script, pode definir o manipulador de eventos onsubmit para o seu formulário. Isto significa que a função submitForm é chamada quando o formulário é submetido. Note-se que o objeto de evento está sempre disponível quando se está num manipulador de eventos.

Um dos passos importantes é impedir a ação predefinida do formulário, chamando event.preventDefault(). Isto é importante porque não queremos que o formulário recarregue a página depois de os dados terem sido submetidos.

Agora podemos começar a ler os dados do formulário. Os dados do formulário estão disponíveis em event.target. Isso facilita o acesso às informações inseridas.

Para obter os dados do formulário, crie um novo objeto com o construtor FormData e passe o elemento do formulário como parâmetro. Depois de o objeto ter sido criado, pode aceder aos valores de entrada utilizando o método get.

Com formData.get('firstName'), por exemplo, recebe o valor do campo de entrada que tem o nome 'firstName'. Pode então utilizar este valor para criar uma mensagem que é apresentada ao utilizador.

Se pretender adicionar outro campo de entrada ao formulário, proceda da seguinte forma: Adicione um campo de texto adicional para o último nome com o nome "lastName". Em seguida, pode efetuar passos semelhantes para obter o seu valor.

Pode então utilizar ambos os valores para gerar uma mensagem personalizada. Por exemplo: "Olá [primeiro nome] [último nome]!"

Para deixar de apresentar a mensagem através de um alerta e integrá-la diretamente no HTML, pode adicionar uma nova secção no DOM que apresenta a mensagem como texto. Para o fazer, crie uma div com um ID único e defina o seu innerText para a mensagem resultante.

Pode agora experimentar as diferentes variações, enviando os dados para a consola ou utilizando-os para outras acções JavaScript, como um pedido POST através de fetch.

Esta é a maneira mais básica de ler e usar dados de formulário com JavaScript. Há muitas outras maneiras de melhorar isso, como inserir validações ou processar mais os dados no servidor.

Resumo

Neste tutorial, você aprendeu a ler dados de formulário com funções JavaScript simples. Explorou a importância de event.preventDefault e viu como inserir dados em alertas, bem como diretamente no documento. Com essa base, você está bem equipado para projetar formulários mais complexos e seu tratamento de dados.

Perguntas mais frequentes

Como posso aceder aos dados do formulário?Pode aceder aos dados do formulário criando um novo objeto FormData com new FormData(event.target).

O que acontece se eu não chamar event.preventDefault()?Sem event.preventDefault(), é executado o comportamento predefinido do browser, o que pode provocar o recarregamento da página.

Posso ter vários formulários numa página?Sim, pode ter vários formulários numa página e cada formulário pode ter a sua própria função onsubmit.

Como posso utilizar os dados do formulário para um pedido de pesquisa?Pode converter os dados do formulário num formato JSON e depois enviá-los para o servidor utilizando a API de pesquisa.

São necessárias estruturas JavaScript para o processamento de formulários?Não, não é necessário utilizar estruturas. Pode executar o processamento de formulários inteiramente com JavaScript puro.