Abertura de impacto
Liberdade e controle no mesmo formulário
Formulários profissionais precisam de dois poderes: permitir que o usuário explique algo com profundidade
e impedir que ele envie dados fora do padrão quando a escolha precisa ser controlada.
Promessa da aula:
Você vai dominar textarea, rows, cols,
maxlength, select, option, value,
selected, disabled, multiple e optgroup.
Texto longo
Textarea explicado em profundidade
O textarea é usado para textos longos, mensagens, comentários, feedbacks,
biografias, observações e qualquer conteúdo que precise de múltiplas linhas.
<label for="mensagem">Mensagem principal</label>
<textarea id="mensagem"
name="mensagem"
rows="6"
cols="50"
maxlength="1000"
placeholder="Descreva sua solicitação com detalhes..."
required></textarea>
- input text: linha única, dado curto e objetivo.
- textarea: múltiplas linhas, texto narrativo e detalhado.
- rows: altura inicial em linhas visíveis.
- cols: largura aproximada em caracteres.
- maxlength: limite máximo de caracteres.
Erro fatal:
Textarea sem name aparece na tela, mas o texto não chega ao servidor.
Escolhas controladas
Select, option, value, selected e disabled
O select cria uma lista de escolhas fechadas. Cada option
representa uma possibilidade. O texto visível é para humanos; o value é para o sistema.
<label for="estado">Estado</label>
<select id="estado" name="estado" required>
<option value="" disabled selected>Selecione uma opção</option>
<option value="sp">São Paulo</option>
<option value="rj">Rio de Janeiro</option>
<option value="mg">Minas Gerais</option>
</select>
- name no select: chave enviada ao servidor.
- value na option: valor técnico enviado.
- selected: opção marcada ao carregar.
- disabled: opção visível, mas não selecionável.
Erro comum:
Deixar o primeiro item real selecionado por padrão. Use uma option neutra como
“Selecione uma opção”.
Seleções complexas
Multiple e optgroup
O atributo multiple permite selecionar mais de uma opção. A tag
optgroup organiza listas longas em categorias.
<label for="tecnologias">Tecnologias dominadas</label>
<select id="tecnologias" name="tecnologias[]" multiple>
<option value="html">HTML5</option>
<option value="css">CSS3</option>
<option value="js">JavaScript</option>
</select>
<label for="curso">Curso de interesse</label>
<select id="curso" name="curso">
<option value="">Selecione um curso</option>
<optgroup label="Desenvolvimento">
<option value="front-end">Front-End Mestre</option>
<option value="back-end">Back-End Pro</option>
</optgroup>
<optgroup label="Design">
<option value="ux">UX Research</option>
<option value="ui">UI Design</option>
</optgroup>
</select>
- select: escolha única entre muitas opções.
- radio: escolha única entre poucas opções visíveis.
- checkbox: escolhas múltiplas independentes.
- select multiple: múltiplas escolhas em lista compacta.
Boas práticas
Textarea e select sem amadorismo
- Use textarea para textos longos e narrativos.
- Use input text para dados curtos de linha única.
- Use select quando as opções forem finitas e conhecidas.
- Conecte todo label ao campo usando for e id.
- Use name em todo textarea e select.
- Use option inicial neutra para evitar envio acidental.
- Use value padronizado nas options.
- Use optgroup para listas longas categorizadas.
- Use instrução clara em select multiple.
- Indique campos obrigatórios e use required quando necessário.
Desafio Mestre
Formulário de Contato e Preferências HTML
Missão: criar o arquivo formulario-contato-preferencias.html
com coleta de textos longos, escolhas controladas e dados padronizados.
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 de Contato e Preferências HTML”.
- Formulário com
form, action e method.
- Labels conectadas corretamente aos campos.
- Uso correto de
id e name.
- Pelo menos 2 textareas.
- Pelo menos 3 selects.
- Um select simples com option inicial neutra.
- Um select com selected ou disabled.
- Um select com optgroup.
- Um select multiple com instrução clara.
- Explicação de textarea vs input text e select vs radio vs checkbox.
- Lista com pelo menos 8 boas práticas.
Quiz com gabarito
15 perguntas para provar domínio
- Qual tag permite múltiplas linhas? <textarea>.
- Como definir altura inicial? rows.
- Qual tag cria lista suspensa? <select>.
- Qual tag define item da lista? <option>.
- Para que serve selected? Define opção padrão.
- Onde fica name no select? Na tag select.
- Textarea tem fechamento? Sim.
- Como impedir escolha de option? disabled.
- Como permitir várias escolhas? multiple.
- Como agrupar opções? optgroup.
- Qual atributo limita texto? maxlength.
- Texto entre option é o quê? Texto visível.
- Value na option é o quê? Dado enviado.
- Textarea pode redimensionar? Sim, por padrão.
- Como conectar label ao select? for no label e id no select.
GitHub
Registre seu formulário com textarea e select
git status
git add .
git commit -m "aula-25: cria formulario com textarea e select"
git push
- git status: verifica as alterações.
- git add .: prepara o arquivo.
- git commit: documenta o domínio da aula.
- git push: envia para o portfólio global.
Resumo Mestre
Textarea é profundidade. Select é precisão.
O textarea dá voz ao usuário. O select padroniza escolhas.
O Mestre usa ambos para criar formulários acessíveis, organizados e úteis para sistemas reais.
Nota final: 10/10 Supremo.
Esta aula está no nível Mestre dos Mestres porque une liberdade textual com rigor de seleção,
preparando formulários para suporte, cadastro, filtros, feedback e sistemas corporativos.