HTML5 Mestre dos Mestres • Aula Suprema 26

Submit e Action

O submit é o gatilho de envio. O action é o destino dos dados. Sem eles, o formulário é apenas uma interface bonita e morta.

NARRAÇÃO MESTRE

Narrador Mestre

Ouça a aula, revise blocos e estude com foco.

Pronto para narrar. As vozes disponíveis dependem do navegador e do sistema.

Abertura de impacto

O formulário nasce no envio

Preencher campos é apenas a coleta. Enviar dados é comunicação real. Quando o submit é acionado, o navegador valida, empacota e despacha os pares name=value para o destino definido no action.

Promessa da aula:

Você vai dominar o fluxo completo do formulário: gatilho de envio, destino dos dados, método HTTP, validação nativa, diferença entre botões e preparação para integração com backend.

Gatilho de envio

button submit e input submit

O botão submit encerra o estado de coleta e inicia o estado de transmissão. Antes de enviar, o navegador verifica campos obrigatórios, padrões e tipos como email.

<button type="submit">Criar Minha Conta</button>

<input type="submit" value="Enviar Mensagem">
  • button type="submit": moderno, flexível e permite conteúdo interno.
  • input type="submit": tradicional, texto definido pelo atributo value.
  • Texto claro: prefira “Confirmar Pagamento” a “Enviar”.
Erro comum:

Usar button sem declarar type. Dentro de um formulário, isso pode causar comportamento inesperado. Declare sempre.

Destino dos dados

Action explicado em profundidade

O atributo action define a URL que receberá os dados. Ele pode apontar para uma rota do backend, um arquivo processador, uma API externa ou um destino simulado.

<form action="/cadastro" method="post"></form>

<form action="processa-contato.html" method="post"></form>

<form action="https://exemplo.com/api/contato" method="post"></form>

<form action="#" method="get"></form>
  • Caminho relativo: aponta para arquivo ou rota no mesmo projeto.
  • URL absoluta: aponta para endereço completo externo.
  • action="#": útil para protótipo ou teste sem backend.
  • action vazio/ausente: geralmente envia para a própria página.
Limite do HTML:

HTML coleta e envia. Quem processa, salva, autentica e responde é o backend.

Transporte

Submit, action, method, name e value

O fluxo completo funciona assim: o usuário preenche, o submit dispara, o navegador valida, o method define o transporte e o action define o destino.

<form action="#" method="get">
  <label for="busca">Buscar aula</label>
  <input type="search" id="busca" name="q" required>
  <button type="submit">Pesquisar Aula</button>
</form>
  • GET: envia dados na URL. Ideal para buscas e filtros.
  • POST: envia dados no corpo da requisição. Ideal para cadastro e login.
  • name: vira a chave enviada ao servidor.
  • value: vira o valor enviado ao servidor.
  • id: conecta label, CSS e JavaScript; não substitui name.
Erro fatal:

Campo sem name não é enviado. Placeholder também não é dado.

Botões profissionais

Submit, button e reset

<button type="submit">Enviar Solicitação Agora</button>

<button type="button">Validar Dados com JavaScript</button>

<button type="reset">Restaurar Formulário Original</button>
  • submit: envia o formulário.
  • button: não faz nada sozinho; será usado com JavaScript.
  • reset: retorna campos ao estado inicial do HTML.
Cuidado com reset:

Em formulários longos, reset pode destruir o trabalho do usuário com um clique acidental. Use com aviso claro ou evite.

Desafio Mestre

Formulário com Fluxo de Envio HTML

Missão: criar o arquivo formulario-fluxo-envio-html.html demonstrando controle total sobre gatilho, destino e método de envio.

Dados da Solicitação

Prioridade:

Requisitos obrigatórios

  • Doctype HTML5 e html lang="pt-BR".
  • Head completo com charset, viewport, title e meta description.
  • Body com header, main e footer.
  • H1 com “Formulário com Fluxo de Envio HTML”.
  • Section introdutória explicando submit, action e method.
  • Formulário principal com form, action e method.
  • Pelo menos 6 campos com labels conectadas corretamente.
  • Uso correto de id e name.
  • Campo text, email, textarea, select, checkbox e radio.
  • Campos essenciais com required.
  • Um button type="submit" com texto claro.
  • Um button type="button" para JavaScript futuro.
  • Um button type="reset" com aviso sobre risco de apagar dados.
  • Explicação de submit, button e reset.
  • Explicação de action + method e id + name + value.
Quiz com gabarito

15 perguntas para provar domínio

  1. O que acontece se action for omitido? Envia para a página atual.
  2. Função de type="reset"? Retornar campos aos valores iniciais.
  3. button type="button" envia formulário? Não.
  4. O que é preventDefault? Função JS que impede o envio padrão.
  5. Onde dados GET aparecem? Na URL.
  6. Value no input submit define o quê? Texto do botão.
  7. Action pode ser link externo? Sim.
  8. Função do name no envio? Identificar a chave do dado para o servidor.
  9. Botão submit deve ficar onde? Dentro do form, salvo casos avançados.
  10. O que é URL absoluta? Endereço completo com protocolo.
  11. Podemos ter dois submits? Sim, com lógica clara no backend.
  12. O navegador valida o quê antes do submit? required, email, pattern e restrições nativas.
  13. Reset limpa para qual estado? Estado inicial definido no HTML.
  14. Quem processa cadastro real? Backend.
  15. Por que usar action="#"? Para simular envio durante desenvolvimento.
GitHub

Registre seu fluxo de envio

git status
git add .
git commit -m "aula-26: cria formulario com fluxo de envio html"
git push
  • git status: verifica o arquivo criado.
  • git add .: adiciona as evoluções ao índice.
  • git commit: documenta o domínio do fluxo de envio.
  • git push: envia para o repositório remoto.
Resumo Mestre

Submit é o motor. Action é o destino.

Sem submit, os dados não partem. Sem action, eles não têm destino. Sem method, o transporte não está definido. O Mestre domina o fluxo completo: coleta, validação, empacotamento, transporte e preparação para backend.

Nota final: 10/10 Supremo.

Esta aula está no nível Mestre dos Mestres porque conecta o visual ao funcional e remove a “mágica” do envio de formulários, entregando controle técnico real sobre o fluxo de dados.