<form>: Elemento FORM
Última atualização: 2026-10-13
<form>Elemento FORM
O elemento <form> é o contêiner para coletar e enviar dados do usuário. Envolve controles de formulário (<input>, <select>, <textarea>…), com action para a URL de envio e method para o método HTTP.
| Categoria | Formulários |
|---|---|
| Modelo de Conteúdo | Conteúdo de fluxo (sem <form> aninhado) |
| Pais Permitidos | Qualquer elemento que aceite conteúdo de fluxo |
| Tag de Fechamento | Sim — requer fechamento </form> tag |
| Status | Padrão |
📝 Sintaxe
<form action="url-de-envio" method="post">
Controles do formulário
<input type="submit" value="Enviar">
</form>
⚙️ Atributos
Este elemento suporta os atributos globais mais os seguintes:
| Atributo | Valor | Descrição |
|---|---|---|
action | URL | The URL where form data is submitted. Padrão: |
method | Keyword | The HTTP method used to submit.
|
name | Text | Form name for JavaScript reference. |
autocomplete | Keyword | Whether browser autofill is enabled.
|
novalidate | Boolean | Skip HTML5 form validation on submit. |
target | Keyword | Where to display the submission result. Padrão: |
▶ Exemplo
Edite o código abaixo e veja o resultado em tempo real no playground:
🌐 Suporte de Navegadores
| Navegador | |||||
|---|---|---|---|---|---|
| <form> | ✓ v1 | ✓ v12 | ✓ v1 | ✓ v1 | ✓ v1 |
| Suportado em todos os navegadores principais | |||||
Dica: Combine controles de formulário com <label> para acessibilidade e área de clique maior.
❓ Perguntas Frequentes
QO method de form deve ser get ou post?
AGET anexa os dados à URL — pode ser marcado como favorito, tem limite de tamanho — adequado para buscas e filtros, operações somente leitura; POST coloca os dados no corpo da requisição, adequado para cadastro, login, pagamento, operações que alteram dados. Senhas ou informações sensíveis: sempre POST.
QO form precisa de um botão submit?
ANem necessariamente. Pressionar Enter também envia formulários de campo único na maioria dos navegadores; dá para chamar
form.requestSubmit() ou form.submit() via JS. Mas por usabilidade e acessibilidade, um botão de envio explícito é sempre a melhor prática.QO atributo action pode ser omitido?
ASim; omitido, o envio vai para a URL da própria página (comportamento do HTML5). Em SPAs, o form costuma vir com
preventDefault() para bloquear o envio padrão e enviar via fetch — com ou sem action, o bloqueio funciona igual.