Aula 07 - Formulários 📝
Objetivo
Objetivo: Compreender como coletar dados do usuário utilizando a tag <form>, associar rótulos com <label> e utilizar os diversos tipos de <input> disponíveis no HTML5.
1. O Recipiente de Dados: <form> 📥
Todo formulário deve estar envolvido pela tag <form>. Ela é responsável por agrupar os campos e definir para onde os dados serão enviados.
action: Define a URL ou página que vai receber os dados.method: Define como os dados são enviados (GETaparece na URL,POSTé oculto).
2. Rótulos e Inputs: O Par Perfeito 💑
Nunca use um campo de entrada sem um rótulo explicativo.
<label>: Define o nome do campo.<input>: Onde o usuário digita ou seleciona.
Atributo for e id:
Para "ligar" o label ao input, usamos o id. Isso melhora a acessibilidade: se o usuário clicar no texto do label, o cursor pula para o input automaticamente.
3. Principais Tipos de Input 🎛️
O HTML5 introduziu tipos específicos que facilitam a vida do usuário (como abrir o teclado numérico no celular).
Tipo (type) |
Descrição |
|---|---|
| text | Texto simples curto. |
| password | Oculta os caracteres (bolinhas). |
| Valida se há um "@" e um domínio. | |
| number | Permite apenas números. |
| date | Abre um calendário para seleção. |
| color | Abre um seletor de cores. |
4. Botões de Ação 🔘
Para "enviar" o formulário, precisamos de um botão do tipo submit.
5. Visualizando a Conexão 📊
graph LR
U[Usuário] --> L[Label clicável]
L -- For/ID --> I[Input focado]
I --> B[Botão Submit]
B --> F[Form Envies]
6. Prática: Formulário de Contato 🚀
Vamos criar uma página de contato no terminal:
$ mkdir aula-07
$ cd aula-07
$ touch index.html
$ # No seu HTML, crie um form com:
$ # Nome (text), Email (email) e Mensagem (textarea)
7. Mini-Projeto: Cadastro de Alunos 🎓
- Crie um formulário de cadastro completo.
- Campos obrigatórios: Nome, Email, Senha, Data de Nascimento e Nota Final (número).
- Use a tag
<fieldset>e<legend>para agrupar e dar um título visual ao formulário. - Adicione um botão de "Salvar" e um de "Limpar".
- Dica: Use o atributo
requirednos inputs para torná-los obrigatórios!
8. Exercícios Progressivos 📝
Básicos
- Qual a tag usada para criar um rótulo para um campo de entrada?
- Para que serve o atributo
type="password"?
Intermediários
- Explique por que é importante usar o
idno input associado aofordo label. - Qual a diferença entre os métodos
GETePOSTem um formulário?
Desafio 🧠
- Pesquise sobre as tags
<select>e<option>. Como você criaria uma lista de seleção para o usuário escolher o seu estado (UF)?
Próxima Aula: Vamos consolidar tudo no Projeto HTML! 🏛️