#Webdesign #HTML

Curso de HTML e Desenvolvimento Web

Introdução aos Formulários

Este artigo descreve sobre formulários dentro do HTML, que são essenciais para interagir com os usuários na web. veremos os conceitos básicos de como criar e utilizar formulários em sites.


O que é um Formulário?

Um formulário no HTML nada mais é do que um trecho da sua página onde você coloca campos para coletar informações dos usuários. Esses dados são enviados para um servidor quando o usuário clica em um botão de envio.

É importante mencionar que todo site moderno trabalha com essa ideia: formulários no lado do cliente (navegador) e servidores no backend, responsáveis por processar as informações. Isso também é conhecido como comunicação client-server.


A Tag form

Agora vamos ao básico: a tag <form> é o elemento que define um formulário em HTML5. Ela abre e fecha, e dentro dela você coloca os campos de entrada (inputs).

Vamos dar uma olhada no código abaixo como exemplo:

<form>  
  <!-- Campos aqui -->  
</form>  

Essa tag é bem simples na teoria, mas quando combinada com JavaScript e outros atributos, se torna poderosa. Nas próximas aulas vamos explorar isso mais profundamente!


O Elemento fieldset

O elemento <fieldset> agrupa controles de formulário relacionados. Ele atua como um container para outros elementos de formulário, como legendas inputs, selects, etc., estabelecendo seções lógicas dentro do seu formulário. Por exemplo:

<fieldset>
  <legend>Informações Pessoais</legend>
  
  <!-- Outros elementos input e select aqui -->
</fieldset>

<fieldset>
  <legend>Dados de Contato</legend>
  
  <!-- Outros elementos input e select aqui -->
</fieldset>

Essa agrupação ajuda os usuários a compreenderem a relação entre os controles do formulário. Ela também auxilia leitores de tela na navegação mais eficiente pelos formulários.

O uso do <fieldset> com legendas elementos legend melhora significativamente a navegação dos leitores de tela. Por exemplo:

<fieldset>
  <legend>Esta é uma seção bem estruturada</legend>
  
  <!-- Controles do formulário -->
</fieldset>

<fieldset aria-labelledby="section-label">
  <label id="section-label">Esta é outra forma de rotular um fieldset</label>
  
  <!-- Controles do formulário -->
</fieldset>

Campos de Entrada (Inputs)

Os campos são os elementos que você usa para coletar dados do usuário. Existem vários tipos de inputs:

Input Text

É o campo padrão para entrada de texto, como nome ou e-mail.

<input type="text" name="nome">  

Input Number

Aceita apenas números e é útil para campos numéricos, como idade ou preço.

<input type="number" name="idade">  

Input Password

Esconde os caracteres digitados, ideal para senhas sensíveis.

<input type="password" name="senha">

O Atributo placeholder

O atributo placeholder fornece uma dica ou exemplo sobre o que deve ser inserido no elemento <input> quando nenhum valor ainda foi fornecido. Por exemplo:

<input type="text" placeholder="Digite seu nome completo">

Quando o usuário foca neste campo de entrada, o placeholder desaparece para dar espaço ao texto dele. Embora úteis para orientar os usuários, placeholders não devem substituir completamente os rótulos.

O Elemento <option>

O elemento <option> define uma única escolha dentro do menu dropdown <select>. Por exemplo:

<select>
  <option value="">Selecione seu país</option>
  <option value="usa">Estados Unidos</option>
  <option value="canada">Canadá</option>
  <!-- Mais opções aqui -->
</select>

Cada opção oferece uma escolha selecionável da lista de opções disponíveis. É possível desabilitar as opções (ainda visíveis, mas não selecionáveis) ou defini-las como selecionadas por padrão.

O Atributo required

O atributo required torna um controle de formulário obrigatório antes de submeter os dados. Por exemplo:

<input type="text" required placeholder="Digite seu nome">

Isso garante que os usuários não possam enviar o formulário sem fornecer seu nome. É especialmente útil para campos como e-mail, senha ou outros pontos de informação crítica.

Aplicações Práticas

Considere como combinar esses atributos em um cenário real:

<form>
  <fieldset>
    <legend>Criação de Conta</legend>
    
    <label for="username">Usuário:</label>
    <input type="text" id="username" required placeholder="Escolha seu nome de usuário">
    
    <br>
    
    <label for="email">E-mail:</label>
    <input type="email" id="email" required placeholder="seu@email.com">
  </fieldset>

  <br>

  <fieldset>
    <legend>Preferências de Contato</legend>
    
    <!-- Mais elementos do formulário aqui -->
  </fieldset>

  <button type="submit">Enviar Formulário</button>
</form>

Neste exemplo, os campos de usuário e e-mail são obrigatórios. O usuário não pode enviar o formulário sem completar esses campos. Os placeholders orientam sobre a formatação adequada para cada campo.


Enviando Dados: Atributos Name e Action

Quando falamos de um formulário, é fundamental entender dois atributos: name e action.

O atributo name

Ele define como os dados serão identificados no servidor. É como se fosse o nome da variável que vai receber a informação.

<input type="text" name="usuario">

O atributo action

Indica para onde os dados devem ser enviados quando o formulário for submetido.

<form action="/processar-dados.html">
  <!-- Campos aqui -->
</form>

Método POST vs GET

Outro aspecto importante é o método de envio dos dados. Existem dois métodos comuns: POST e GET.

Método POST

Envia os dados no corpo da requisição (body) e não aparece na URL. É mais seguro, ideal para informações sensíveis.

<form method="post">
  <!-- Campos aqui -->
</form>

Método GET

Envia os dados pela URL e é visível para qualquer pessoa que acessar o link do formulário. Não recomendado para senhas ou dados confidenciais.


Target: Abrir em Nova Aba

O atributo target controla como a página de destino é aberta quando um formulário é enviado. Por padrão, ele abre na mesma aba (_self). Se você quiser abrir em uma nova aba, pode usar _blank.

<form target="_blank">
  <!-- Campos aqui -->
</form>

Autocomplete: Desativando o Completamento

Para evitar que o navegador preencha automaticamente os campos (como no caso de um formulário de login), use autocomplete="off".

<input type="text" autocomplete="off">

JavaScript e Eventos do Formulário

Quando você envia um formulário, é possível adicionar eventos para controlar o que acontece antes. O evento onsubmit pode ser usado para validar os dados ou executar outras ações.

<form onsubmit="validarFormulario(event)">  
  <!-- Campos aqui -->  
</form>  

<script>  
function validarFormulario(event) {  
  // Lógica de validação aqui  
}  
</script>

Conclusão

Entenderemos que formulários são a ponte entre o usuário e o servidor. Eles permitem coletar dados, realizar cadastros e muito mais!

Na próxima aula, vamos falar sobre os diferentes tipos de inputs em detalhes — text, number, password, checkbox, radio button, select, etc.

Referências

Connected Pages
On this page
Curso de HTML e Desenvolvimento Web
  • Introdução aos Formulários
  • O que é um Formulário?
  • A Tag form
    1. O Elemento fieldset
  • Campos de Entrada (Inputs)
  • Input Text
  • Input Number
  • Input Password
  • O Atributo placeholder
  • O Elemento
  • O Atributo required
  • Aplicações Práticas
  • Enviando Dados: Atributos Name e Action
    1. O atributo name
    2. O atributo action
  • Método POST vs GET
    1. Método POST
    2. Método GET
  • Target: Abrir em Nova Aba
  • Autocomplete: Desativando o Completamento
  • JavaScript e Eventos do Formulário
  • Conclusão
  • Referências