S05 – Atividade de Aprendizagem: Formulários HTML
Visão Geral
Os formulários HTML nos permitem interagir com o usuário e coletar dados. O elemento de formulário (form) é o contêiner para todos os elementos de formulário e inclui atributos que permitem tratar os dados. Nesta atividade, você se concentrará apenas no design e desenvolvimento de front-end, aprendendo a criar um formulário usando elementos básicos de formulário. O tratamento dos dados do formulário após o envio está além do escopo deste curso.
Preparação
Os formulários HTML são seções especiais de uma página da web para que os usuários insiram e enviem informações. Considere os formulários como versões digitais dos formulários em papel que você preenche no consultório médico ou ao se candidatar a algo. Eles coletam informações dos usuários e as enviam a um servidor web para processamento.
Os formulários são essenciais para a criação de sites interativos. Elas permitem que os usuários pesquisem informações, criem contas, façam compras, enviem mensagens e realizem diversas outras tarefas que exigem a interação do usuário. Você aprenderá mais sobre os formulários em cursos futuros. Nesta atividade, você se familiarizará com as partes mais importantes dos formulários HTML.
Estrutura Básica de Formulário
Todo formulário HTML começa com uma tag <form> e termina com uma tag
</form>. Todos os elementos dele devem ser colocados entre essas tags. A tag
<form> indica ao navegador que todo o conteúdo dela faz parte do mesmo formulário.
Abaixo estão as partes mais importantes de um formulário:
- Contêiner de formulário – O elemento
<form>que contém todas as partes do formulário. - Campos de formulário – Usados para os usuários digitarem ou selecionarem informações.
- Labels – Rótulos que descrevem a finalidade de cada campo do formulário.
- Botão Enviar (Submit) – O botão em que os usuários clicam para enviar suas informações.
<form>
<label for="nome-de-usuario">Nome de Usuário:</label>
<input type="text" id="nome-de-usuario" name="nome-de-usuario">
<button type="submit">Enviar</button>
</form>
Veja como o formulário fica:
Estilizamos algumas coisas, senão os elementos do formulário seriam exibidos em uma única linha por padrão.
O exemplo acima mostra um formulário simples com um campo para adicionar nome de usuário e um botão de envio. O
elemento label descreve a finalidade da entrada, enquanto o atributo for conecta esse
label ao campo de entrada. Você pode testar isso acima, clicando no texto de label, o que focará o campo de
entrada.
Elementos Comuns dos Campos de Formulário
O HTML oferece diversos tipos de elementos dos campos de formulário para coletar diferentes tipos de informações dos usuários. Cada elemento tem uma função específica e aparece de forma diferente na página da web.
Abaixo estão os elementos de formulário mais utilizados:
- Text input – Para linhas únicas de texto, como nomes ou endereços de e-mail.
- Password input – Para informações secretas que devem ser ocultadas, como senhas
- Textarea – Para textos mais longos, como comentários ou mensagens.
- Checkbox – Caixa de seleção para opções sim/não ou múltipla escolha.
- Radio buttons – Botões para escolher uma opção dentre várias opções.
- Select dropdown – Menu suspenso para escolher algo de uma lista.
<form>
<label for="email">E-mail</label>
<input type="email" id="email" name="email">
<label for="senha">Senha</label>
<input type="password" id="password" name="senha">
<label for="mensagem">Sua Mensagem</label>
<textarea id="mensagem" name="mensagem" rows="4"></textarea>
<label><input type="checkbox" id="newsletter" name="newsletter"> Quero receber novidades</label>
<button type="submit">Enviar Mensagem</button>
</form>
O formulário fica assim (com alguns estilos básicos de bloco e padding):
Esse exemplo demonstra vários tipos diferentes de entrada funcionando juntos em um único formulário. Observe como
cada campo possui um atributo de entrada id e um atributo name – eles são importantes
para que o formulário funcione corretamente.
Atributos de Entrada
Os elementos de entrada usam atributos para controlar seu comportamento e interação com a entrada de dados. Entender esses atributos ajuda você a criar formulários que funcionam corretamente e proporcionam uma boa experiência aos usuários.
Atributos de entrada importantes:
- type – Define o tipo de entrada (texto, e-mail, senha, etc.)
- name – Um identificador único para cada elemento do formulário
- id – Outro identificador usado para conectar labels a entradas
- required – Define o preenchimento de um campo como obrigatório
- placeholder – Exibe um texto de exemplo dentro de um campo de entrada.
- value – Define um valor padrão para o campo de entrada
<form>
<label for="nomecompleto">Nome Completo:</label>
<input type="text" id="nome-completo" name="nome-completo" required>
<label for="telefone">Número de Telefone:</label>
<input type="tel" id="telefone" name="telefone" placeholder="123-456-7890">
<button type="submit">Enviar Informações de Contato</button>
</form>
Veja como o formulário fica:
Neste exemplo, o campo nome completo é obrigatório. Você pode testar isso tentando enviar o formulário sem preenchê-lo. O navegador impedirá o envio e solicitará que você preencha o campo. O campo de número de telefone inclui um texto de exemplo para ajudar os usuários com o formato que devem preencher.
Instruções da Atividade
Primeiros Passos
- Na pasta semana05 do seu repositório do curso wdd130, crie um novo arquivo chamado "formulario-pesquisa.html".
- Crie uma página HTML básica com os elementos
header,mainefooter.
Monte o Formulário
- Crie um elemento
formdentro do elementomain. - Adicione os seguintes campos ao formulário. Certifique-se de usar um elemento
labelpara cada elemento do formulário.- O nome completo do usuário, usando um campo
inputdetexto, comidde "nome-completo" enamede "nome-completo", sendo definido comorequired(obrigatório). - Endereço de e-mail do usuário usando
inputdo tipoemail,idde "emaildousuario", bem como umnamecomo "emaildousuario", sendo definido como obrigatório comrequired.Avalie Seu Conhecimento
<form> <label for="nomecompleto">Nome Completo:</label> <input type="text" id="nome-completo" name="nome-completo" required> <label for="emaildousuario">E-mail:</label> <input type="email" id="email-do-usuario" name="email-do-usuario" required> </form>Outra maneira válida de escrever isso é cercar os elementos input com o elemento
label. Isso é chamado de método de "rótulo implícito". A seguir está um exemplo desse método:<label>Nome Completo: <input type="text" name="nome-completo" required></label> <label>E-mail: <input type="email" name="email-do-usuario" required></label> - Crie uma pergunta de múltipla escolha usando um elemento
selectque pergunte qual é o navegador favorito do usuário. Abaixo está um exemplo do elementoselectcom três opções:<label for="quantidade">Selecione a Quantidade</label> <select name="quantidade" id="quantidade"> <option value="1">Um</option> <option value="2">Dois</option> <option value="3">Três</option> </select>A pergunta deveria ser "Qual é o seu navegador favorito?" Atribua umEsse elemento select fica assim (com alguns estilos adicionais):
namee umidcom o valor "navegador" ao elementoselecte adicione pelo menos três opções para o usuário escolher. As opções podem incluir "Chrome", "Safari", "Edge", "Brave", "Outro", etc. - Inclua a pergunta: "Você tem um bichinho de estimação em casa?"
Use um único elemento de caixa de seleção,checkbox. O valor do atributoidenameé"pet". - Inclua uma pergunta final: "Liste os lugares onde você morou."
Use um elementotextareae forneça valores de atributosplaceholder. Além disso, inclua um atributonameeidde"feedback"e defina o número de linhas,rows.
Avalie Seu Conhecimento
<label for="navegador">Qual é o seu navegador de internet favorito?</label> <select id="navegador" name="navegador"> <option value="chrome">Chrome</option> <option value="firefox">Firefox</option> <option value="edge">Edge</option> <option value="brave">Brave</option> <option value="other">Other</option> </select> <label for="pet"Você tem um bichinho de estimação?</label> <input type="checkbox" id="pet" name="pet"> <label for="feedback">Liste os lugares onde você morou:</label> <textarea id="feedback" name="feedback" rows="4" placeholder="Stillwater Flórida, Amsterdã Holanda, Tibuktu Mali"></textarea> - O nome completo do usuário, usando um campo
- Adicione um botão,
button, do tiposubmitno final do elemento form. O conteúdo do texto do botão é"Enviar Pesquisa".Avalie Seu Conhecimento
<button type="submit">Enviar Pesquisa</button>
Teste e Envio
- Teste e valide seu HTML no navegador.
- Salve seu trabalho. O estilo em CSS será adicionado na próxima atividade.
Observe que este formulário não inclui o tratamento dos dados preenchidos pelo usuário. Estamos trabalhando apenas com a parte front-end do design e da estrutura do formulário.