HTML: Formulários HTML

Última atualização: 2026-10-13

Formulários (<form>) são a principal forma de as páginas web interagirem com os usuários — login, cadastro, busca e mensagens de contato dependem de formulários para coletar dados.

Tags nesta seção: <form> <input> <fieldset> <legend> <datalist> <option> <button> <select> <textarea>

1. Conceitos Básicos de Formulário

A tag <form> define uma área de formulário que contém vários controles de entrada. Quando os usuários preenchem e enviam o formulário, os dados são enviados ao servidor:

▶ Exemplo

▶ Experimente

2. Controles de Entrada Comuns

<input> é o controle mais versátil — seu atributo type o transforma em diferentes formas de entrada:

▶ Exemplo

▶ Experimente
💡 Atributos de Formulário: action especifica a URL de envio; method especifica o método de requisição (get para busca, post para login/cadastro). placeholder mostra dicas de entrada; required marca campos como obrigatórios.


3. Agrupamento de Formulário e Mais Elementos

<fieldset> agrupa controles relacionados, <legend> fornece um título para o grupo. <datalist> oferece uma lista de sugestões pré-preenchida para campos de entrada:

▶ Exemplo

▶ Experimente

Tags nesta seção: <form> <input> <fieldset> <legend> <datalist> <option> <button> <select> <textarea>

❓ Perguntas Frequentes

P Quais são os atributos action e method de uma tag <form>?
R action especifica a URL do servidor para onde os dados do formulário são enviados; method especifica como enviar. Dois métodos:GET anexa dados à URL (adequado para consultas de busca), POST coloca dados no corpo da requisição (adequado para login, registro e dados sensíveis). Se não tiver servidor para processar, omita action e use event.preventDefault() do JavaScript para interceptar o envio.
P Qual é a diferença entre radio (escolha única) e checkbox (múltipla escolha)?
R radio é seleção única — apenas uma opção por grupo (agrupado pelo atributo name); checkbox é múltipla seleção — você pode selecionar múltiplas opções simultaneamente. Ponto-chave:radio deve compartilhar o mesmo valor name para ser mutualmente exclusivo; checkbox pode ter nomes iguais ou diferentes. Ambos usam checked para definir seleção padrão.
P O que o atributo type de <button> faz?
R type determina o comportamento do botão:submit (padrão) envia o formulário para a URL action; reset limpa todas as entradas do formulário; button não tem comportamento padrão — você precisa de JavaScript para vincular eventos. Nota:sem type, o padrão é submit, o que pode enviar o formulário acidentalmente. Sempre especifique type explicitamente.
P A validação de formulário do HTML5 é suficiente? Ainda preciso de JavaScript?
R O HTML5 fornece validação básica (required, minlength, pattern, etc.) para cenários simples. Mas tem limitações:1)estilização de mensagem de erro é difícil de personalizar; 2)validação complexa (como senhas coincidentes) não é possível; 3)experiência do usuário não é boa (tempo, inconsistência de estilo). Recomendação:use validação HTML5 para proteção básica, JavaScript para validação aprimorada e melhor experiência do usuário.

📖 Resumo


📝 Exercícios

  1. Formulário de cadastro: Crie uma página de cadastro com nome de usuário, e-mail, senha, confirmação de senha, gênero (radio), interesses (checkbox), um botão de envio e um botão de limpar. Use <fieldset> para agrupamento.
  2. Sugestões de entrada: Use <datalist> para criar um campo "Selecione a Cidade" que sugira automaticamente São Paulo, Rio de Janeiro, Belo Horizonte e Curitiba conforme você digita.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%