HTML 5 – Novos componentes

Jan 03
2012

Neste artigo vamos analisar alguns dos vários componentes introduzidos pelo HTML 5. Posso afirmar que há grandes novidades para a criação dos nossos formulários. Agora temos novos componentes, atributos,várias mudanças semânticas e também adição de dois tipos de form actions (update e delete).

Obs: para a grande maioria dos exemplos abaixoutilizei a última versão do navegador Opera.

 

Componentes fora do formulário

 

Anteriormente, nossos componentes tinham que estar obrigatoriamente contidos dentro das tags do nosso  formulário para que pudessem ser submetidos para o servidor.

Agora, isto não é mais necessário!

Podemos ter nossos componentes em qualquer lugar da página apenas informando a qual formulário ele pertence. Observe o trecho abaixo:


<form id=myForm>

<input type=text>

...

</form>

<textarea form=myForm></textarea>

Podemos observar que a área de texto (textarea) não está dentro da nossa tag form, ela está fora dela e através do atributo form indicamos a qual formulário o componente pertence.

 

Novos componentes

 

Com a nova versão do HTML novos componentes foram introduzidos, tornando ainda mais prazeroso trabalhar com a linguagem.

Chega de ter que recorrer à biblioteca de terceiros (JQuery UI e outras) para ter que usar um calendário ou uma slide bar.

Agora temos a possibilidade de usar os próprios recursos nativos sem ter que necessitar de biblioteca de terceiros para suprir a falta de componentes.

Vale lembrar que a especificação não define como cada navegador ou dispositivo apresentará cada componente. Portanto, podemos ter diferentes aparências para um mesmo componente dependendo do fabricante ou dispositivo.

 

Email

 

<body>
   <input type=email>
</body>

Viram como é fácil a sua utilização?

A tag acima diz ao browser não submeter o formulário se o usuário não entrar com um formato válido de e-mail (claro que não é checado se o e-mail existe!). Mas, a especificação não define como será exibida a mensagem de erro para o usuário.

Além disso,  é importante consultar as regras de validação no site da W3C.

Caso as regras de validação não atendam a sua necessidade, fique tranquilo! É possível customizá-la, o que faremos em artigos mais adiante.

Podemos visualizar como o Chrome e o Opera se comportam quando entramos com um e-mail com formato incorreto:

Email - Chrome

Email - Opera

Data, hora, mês e semana

 


<body>
 <input type=datetime>
 <input type=date>
 <input type=time>
 <input type=month>
 <input type=week>
</body>

As tags acima são auto-explicativas e tornam a tarefa de trabalhar com datas/horas muito mais fácil, sem necessitar de bibliotecas de terceiros.

Obseve abaixo o efeito no navegador Opera:

Datetime - Opera

 

 

 

 

 

 

 

 

 

 

 

 

 

Podemos ver que o navegador forneceu nativamente um calendário, facilitando bastante o nosso trabalho.

 

Number


<body>
 <input type=number>
</body>

 

Permite somente a entrada de valores numéricos. Veja abaixo o efeito gerado por esta tag:

Number - Opera

Range

<body>
 <input type=range>
 </body>
 

 

O componente range é um dos meus favoritos e permite que o usuário selecione através de um slider valores dentro de aguns limites possíveis. Observe o efeito nos nossos amigos Chrome e Opera:

Range - ChromeRange - Opera

Posteriormente, faremos um exemplo mais elaborado utilizando os novos atribuos max, min e step =)

 

Search

<body>
 <input type=search>
</body>

 

Especifica um campo de busca. Com a ajuda do navegador, pode ser fornecido ao usuário um histórico das páginas visitadas recentemente. A diferença entre este campo e um campo de texto é apenas semântica.

Search - Chrome

 

 

 

Tel

<body>
 <input type=tel>
</body>

 

 

Esta tag espera um telephone como entrada, porém, não há nenhuma validação especial definida pela especificação. Mas, com o HTML5 podemos adicionar aos nossos componentes regras de validação.

Assim como a tag search, a diferença é apenas semântica. Alguns dispositivos podem facilitar a vida do usuário apenas exibindo o teclado numérico quando o foco estiver neste campo.

Tel - Opera

 

 

 

Color


<body>

<input type=color>

</body>

 

Permite que os usuários entrem com uma cor válida. Podemos ver abaixo que o Opera exibe uma paleta de cores com algumas opções:

Color - Opera

 

 

 

 

 

Para concluir, vale lembrar que muitos navegadores não possuem suporte à estas tags e que muita coisa ainda está por vir, mas, vimos o quanto o HTML 5 facilitará a nossa vida =) No próximo artigo irei abordar alguns novos atributos para que possamos fazer alguns exemplos mais elaborados. Até a próxima!

 

Consulte a série de artigos sobre HTML5: http://robsonramos.com/index.php/category/html-5/

Visit Our Friends!

A few highly recommended friends...

Pages List

General info about this blog...