Formulários com HTML 5 e BootStrap

Formulários são elementos do HTML para receber dados do usuário. Formulários são formados por outros elementos chamados de inputs que são os campos que o usuário pode digitar e enviar dados, ou escolher valores.

No HTML, os formulários são criados a partir da tag <form> … </form> e os inputs são codificados dentro desta tag.

Tipos de inputs

<input type="text">

Este input recebe textos.

<input type="number">

Este input recebe apenas números inteiros. Você pode limitar os valores usando os atributos min e max, exemplo: <input type=”number” min=”0″ max=”100″>

<input type="range">

Este input também recebe números inteiros escolhidos em uma barra deslizante. Você pode limitar os valores usando os atributos min e max, exemplo: <input type=”range” min=”0″ max=”100″>

<input type="email">

Este input recebe somente texto no formato a@b.c que caracteriza o formato universal de um endereço de e-mail.

<input type="color">

Este input permite que usuário escolha um cor da paleta de cores do sistema.

<input type="radio" value="masculino"> Masculino
<input type="radio" value="feminino"> Feminino

O radio permite o usuário escolher entre uma opção ou outra.

<input type="checkbox" value="vermelho">
<input type="checkbox" value="amarelo">

Já os inputs do tipo checkbox são o oposto do radio, eles permitem ao usuário selecionar mais de uma opção.

<input type="date">

Permite escolher uma data em um calendário suspenso. OBS: A data é exibida no formato brasileiro mas é retornada em formato americano.

O atributo Name e ID

Quanto trabalhamos com PHP, todo o input deve receber um nome. Este nome é definido pelo atributo name, exemplo:

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

Quando trabalhamos com JS (JavaScript), usamos o atributo id (identificador)

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

Nós podemos trabalhar com PHP e JS ao mesmo tempo, portanto, podemos ter o name e o id em um mesmo input;

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

Label

Label é o texto que antecede o input; por exemplo;

<label for="idade"> Informe a sua idade </label> 
<input type="number" name="idade">

Required e validação

Required é um atributo de todos os inputs que definem se o preenchimento do input é obrigatório ou não. Exemplo:

<label for="idade"> Informe a sua idade </label> 
<input type="number" name="idade" required>

Ao enviar estes dados para o servidor, seja via GET ou POST, o navegador fará a validação automaticamente e irá exibir uma mensagem ao usuário informando quais campos não foram devidamente preenchidos, ou, que forma preenchidos de forma errada.

Placeholder

O atributo placeholder é aquele texto de ajuda que aparece dentro dos inputs de texto.

<input type="text" placeholder="Informe seu nome completo" required>

Estilização com BootStrap

O BS oferece algumas classes para estilizar seus formulários conforme exibido em http://getbootstrap.com.br/css/#forms. Conforme orienta a documentação, os elementos dos formulários devem ser agrupados pela <div class=”form-group”> … </div> que criam um espaço elegante entres os inputs. Os inputs por sua vez recebem o estilo da classe form-control que cria um elegante campo de digitação com um tamanho de largura de 100%

Exemplo de formulário com BS

Este código mostra um exemplo usando alguns tipos de inputs estilizados pelo BootStrap:

	
	
 
	
	
	
	
	
	
 

Cadastre-se



Masculino
Feminino

Google
Amigos
Revistas e Jornais


O resultado será:

Formulários no sistema de grid do BootStrap

No exemplo do código anterior notamos que alguns campos como idade ocupam todo o espaço da tela do dispositivo sendo que o campo idade receberá no máximo 3 dígitos, logo, percebe-se o desperdício de espaço e percebe-se que este formulário poderia oferecer uma experiência mais agradável ao usuário se estivesse melhor organizado.

Para obter esta organização mais eficientes de campos e inputs usamos o sistema de grid do BS.

O sistema de grid do BS, conforme visto na aula Introdução ao BootStrap são formados por um container principal que pode ser divido em linhas (row) e colunas (col), lembrando sempre que o limite de colunas é sempre 12.

A classe fluid-container

Quanto precisamos subdividir uma coluna em outras usamos a classe  fluid-container, veja um exemplo:

<div class="container">
     <div class="row">
         <div class="col-md-6">
             COLUNA 1
         <div>
         <div class="col-md-6">
             <div class="container-fluid">
                <div class="col-md-6">
                   COLUNA 2, dividida parte 1  
                </div>
                <div class="col-md-6">
                   COLUNA 2, dividida parte 2 
                </div>
             </div>
        </div>
     </div>
</div> 

Agora veja o mesmo exemplo melhor organizado, usando a classe fluid-container

	
	
 
	
	
	
	
	
	
 

Cadastre-se


Cadastre seus dados no formulário ao lado para finalizar sua compra conosco!


Masculino
Feminino

Google
Amigos
Revistas e Jornais

O resultado será: