Atributos essenciais dos inputs
| Atributo | Função |
|---|---|
| name | Nome do campo (enviado ao servidor) |
| value | Valor enviado |
| required | Campo obrigatório |
| placeholder | Texto de ajuda |
| maxlength | Limite de caracteres |
| readonly | Apenas leitura |
| disabled | Desabilitado |
🔹 disabled
<input disabled>
- Visível
- Não editável
- ❌ Não envia valor
🔹 hidden (invisível)
<input type="hidden">
- Invisível
- ❌ Não editável
- ✅ Envia valor
🔸 Extra: readonly
<input type="text" value="Ciro" readonly>
✔ Visível
✔ Não editável
✔ É enviado no formulário
disabled→ bloqueia e não enviahidden→ esconde e enviareadonly→ mostra, bloqueia e envia
🔹 Validação de formulários
O HTML já permite validação básica:
<input type="text" required>
<input type="email" required>
<input type="number" min="1" max="10">
✔ Impede envio de dados inválidos
✔ Evita erros simples
📌 Para validações mais avançadas → usar JavaScript
🔹 Exemplo completo (melhor estruturado)
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Cadastro</title>
</head>
<body>
<h2>Cadastro</h2>
<form action="processa.php" method="post">
<label>Nome:</label><br>
<input type="text" name="nome" required><br><br>
<label>Email:</label><br>
<input type="email" name="email"><br><br>
<label>Senha:</label><br>
<input type="password" name="senha"><br><br>
<label>Sexo:</label><br>
<input type="radio" name="sexo" value="M"> Masculino
<input type="radio" name="sexo" value="F"> Feminino <br><br>
<label>Interesses:</label><br>
<input type="checkbox" name="interesse[]" value="prog"> Programação
<input type="checkbox" name="interesse[]" value="redes"> Redes <br><br>
<label>Curso:</label><br>
<select name="curso">
<option value="info">Informática</option>
<option value="adm">Administração</option>
</select><br><br>
<label>Mensagem:</label><br>
<textarea name="mensagem"></textarea><br><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>
🔹 Boas práticas
✔ Sempre usar name nos campos
✔ Evitar GET para dados sensíveis
✔ Usar nomes claros (nome, email, etc.)
🔹 Dica importante
👉 HTML não salva dados
👉 Ele apenas envia
Para trabalhar com os dados você precisa de:
- PHP
- Java
- Node.js
- Python
🔹 Fluxo completo de um formulário
- Usuário preenche os dados
- Clica em Enviar
- Navegador envia os dados (
GETouPOST) - Servidor recebe os dados
- Backend processa (salva, valida, responde)
Detalhes inesquecíveis!
<form>→ estrutura principal<input>→ entrada de dados<textarea>→ textos longos<select>→ listasname→ essencial para enviomethod→ GET ou POST- HTML coleta → Backend processa
ATIVIDADE DE LABORATÓRIO
- Atividade 1: Crie um formulário com
nome (disabled),id (hidden=100),cidade (text)emethod="get", envie e observe a URL → quais campos foram enviados? onomefoi? - Atividade 2: Crie um formulário com
<input name="a" value="Aluno" readonly>e<input name="b" value="Professor" disabled>, envie → qual valor foi enviado? qual não foi? - Atividade 3: Crie um formulário com checkboxes (HTML, CSS, JS), teste com
name="curso"e depoisname="curso[]", marque vários e envie → o que mudou? qual forma é correta?