SlideShare uma empresa Scribd logo
Html5 Aula 4
HTML5 ESSENCIAL 
Fundamentos de todo serviço na Web
EMENTA 
• Fundamentos de Web 
• Documentos HTML 
• Conteúdo 
• Multimídia 
• Semântica 
• Desempenho 
3
O QUE VEREMOS AGORA 
• Fundamentos da Web 
• Documentos HTML 
• Conteúdo 
• Section, div, span, aside, parágrafos, cabeçalhos e rodapé 
• Tabelas 
• Formulários (campos e atributos) 
• Forms 2.0 
• Tags editáveis (contenteditable) 
• IFrames 
• Multimídia 
• Semântica 
4
Html5 Aula 4
FORMS 2.0 
• Após alguns anos sem evoluções nessa área, o 
Opera iniciou um processo de criação de novos 
campos de formulário 
• A especificação FORMS 2.0 é mais antiga mas entrou 
oficialmente na coleção de especificações da HTML5 
• color - Campo para escolha de cores 
• Utiliza a paleta flutuante de cores do sistema operacional 
• date - Escolha de data 
• datetime - Escolha de data e hora (UTC) 
• datetime-local - Data e hora no fuso local 
• month. Escolha do mês 
• Todos usam uma caixa flutuante de escolha de data 
6
FORMS 2.0 
• Mais campos novos da HTML5 
• email - Campo para escrita de emails 
• number - Exibição de números como um spinner (botões de 
rolagem para cima e para baixo) 
• tel - Para campos de telefone 
• time - Spinner para horários 
• Por padrão, exibe apenas horas:minutos 
• url - Campo para escrita de URLs 
• range - Linha com um marcador slider 
• search - Campo de texto para buscas 
• O Chrome exibe um X para apagar o texto 
quando digitado 
7
FORMULÁRIOS 
• Novos atributos do HTML5 
• placeholder - Novo no HTML5, exibe um texto quando o 
campo estiver vazio e não estiver com o foco 
• Quando o usuário digitar algo, o texto do placeholder sai. 
• Ex.: <input type="text" placeholder="Digite algo aqui"/> 
• min e max - Determinam os limites mínimos e máximos de 
campos como range ou number. 
• autocomplete - Admite on ou off. Determina se o campo 
poderá assumir o autocomplete padrão do browser 
• autofocus - Para requisitar o foco assim que a página for 
carregada 
• form - Atributo que torna possível um campo vir escrito fora 
dos limites das tags <form> 
• <input type="search" form="busca_avancada" name="termo" /> 
• <form id="busca_avancada"> ... </form> 
8
FORMULÁRIOS 
• Steps 
• step - Campo que define de quanto em quanto será o 
incremento/decremento de spinners (setas pra cima e pra 
baixo) de campos como time e number 
• A unidade de medida dos steps em campos time é o segundo 
• Deve ser informado um valor positivo 
• Se o step for múltiplo de 60, o campo time só exibe hora e minutos, 
caso contrário também contempla os segundos 
• A combinação dos atributos min, max, step e value devem ser 
coerentes para não proporcionar comportamentos estranhos 
• Campos range também possuem steps 
• Nestes casos, o step coincide com o tamanho em pixels do objeto 
9
FORMULÁRIOS 
• Comportamento ao submeter o formulário 
• Campos url são prefixados com http:// se não estiverem no 
formato correto de URL (iniciando por protocolo://) 
• Campos de data são enviados usando sempre um formato 
padrão 
• A especificação, por enquanto, não foi clara quanto ao formato desses 
campos. Deixou a cargo dos browsers 
• Campos color são enviados no formato #rgb, sendo: 
• R - red, G - green, B - blue 
• Forms 2.0 já embutem validações client-side sem a 
necessidade de uso de Javascript 
• Campos preenchidos com valores incorretos para o tipo específico 
são checados e impedem a transmissão do formulário para o servidor 
• Os browsers costumam exibir balões sobre o campo indicando o erro 
de preenchimento 
10
VALIDAÇÕES DE INPUTS 
• Campos requeridos 
• required - Torna o campo de preenchimento obrigatório 
• Mais regras que impedem a transmissão do 
formulário 
• Campos url devem seguir as regras de codificação de URLs 
• Espaços devem ser trocados por %20 
• Campos email devem conter emails válidos 
• Valores de campos numéricos devem estar entre min e max e 
serem múltiplos de step, se estes forem fornecidos 
• Campos com o novo atributo pattern precisam ter um valor 
de acordo com a máscara informada nele 
• Atributo ainda não suportado no IE nem no Safari 
11
VALIDAÇÕES DE INPUTS 
• Expressões regulares 
• pattern - Atributo que restringe a máscara do conteúdo no 
campo em questão 
• O atributo title deve ser usado para informar a máscara usada 
de um jeito mais claro ao usuário leigo 
• Ex. 1: <input type="text" name="cep" 
title="CEP: 00000-000" 
pattern="d{5}-d{3}" /> 
• Ex. 2: <input type="text" name="cpf" 
title="CPF: 000.000.000-00" 
pattern="d{3}(.d{3}){2}-d{2}" /> 
• Ex. 3: <input type="text" name="IP" 
title="Endereço IP válido para um ponto na rede" 
pattern="([1-9]{1,2}) | (1dd) | (2[0-4]d) | 25[0-4]" /> 
• Para simplificar, o pattern do exemplo 3 contemplou apenas o primeiro dígito, que deve 
ser algo entre 1 e 254 
• Os espaços entre as barras em pé | (pipe), que significam “ou” lógico estão aí apenas para 
melhorar a legibilidade do exemplo. Não devem ser digitados 
12
VALIDAÇÕES DE INPUTS 
• Metacaracteres qualificadores: 
• São usados para validar apenas um caractere do texto 
• . (ponto) - Representa qualquer caractere 
• [ e ] - Para englobar lista de valores permitidos 
• [^ e ] - Para englobar lista de valores proibidos 
• d - Só admite números 
• w - Só admite letras, números e caracteres _ 
• s - Só admite caracteres de espaço 
• D, W, S - Inversos de suas contrapartidas minúsculas 
• ( e ) - Agrupamentos de conteúdo 
• | - Ou lógico. Utilize os parênteses para ele afetar um grupo todo 
•  - Retira o poder de algum metacaratere. Ele vira simples texto 
• - - Dentro de listas, representam faixas de valores possíveis 
13
VALIDAÇÕES DE INPUTS 
• Metacaracteres quantificadores: 
• São usados para dar quantidade à expressão anterior 
• ? - Opcional. Pode vir zero ou uma vez 
• + - Deve vir pelo menos uma vez 
• * - Opcional. Pode vir zero ou várias vezes 
• {x} - Deve vir exatamente X vezes 
• {x,y} - Deve vir de x a y vezes 
• {x,} - Deve vir pelo menos x vezes 
• {,y} - Deve vir até y vezes 
• Metacaracteres limítrofes (não necessários aqui) 
• ^ - Deve vir no início da máscara e representa o início do texto 
• $ - Deve vir no final da máscara e representa o fim do texto 
• b - Delimita a borda de um texto (para pre/sufixo de palavras) 
14
FORMS 2.0 
• Outras tags para formulários 
• <keygen> - Tag que envia uma chave pública para o servidor 
poder utilizar para cifrar o conteúdo. Só quem gera uma chave 
pública detém sua chave privada capaz de decifrar 
• Essa tag gera um combobox para o usuário escolher a quantidade de 
bits do tamanho dessa chave 
• http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/ 
20080714/07ea5534/attachment.txt 
• <datalist> - Renderiza um suggest no browser. Parecido com 
o select, mas não é na verdade um campo de formulário 
• Deve ser usado como provedor de lista de valores para um input text 
• Para informar o datalist como provedor de valores de sugestões é 
necessário definir um id para o datalist e um atributo list para o input 
• <input type="text" list="ufs"/> 
• <datalist id="ufs"><option>Pernambuco</option>...</datalist> 
15
FORMS 2.0 
• Leituras recomendadas 
• Artigos sobre Forms 2.0 
• http://diveintohtml5.info/forms.html 
• http://hacks.mozilla.org/2010/11/firefox-4-html5-forms/ 
• Webforms2 - http://code.google.com/p/webforms2/ 
• Código Javascript para fazer os novos campos funcionarem em 
browsers antigos (recomenda-se testar) 
• Status do Forms 2.0 - http://wufoo.com/html5/ 
• Site atualizado sobre o índice de adoção dos novos recursos para 
formulários 
• Expressões regulares - http:www.guia-er.sf.net/ 
• Excelente material gratuito do autor brasileiro Aurélio Marinho Jargas 
16
EXERCÍCIOS 
• Utilize todos os novos recursos vistos nesta aula 
para incrementar o formulário de cadastro de 
currículo feito na aula anterior 
• Utilize campos de preenchimento obrigatório, placeholders, 
patterns, steps e valores numéricos mínimos e máximos 
• Dê a opção de escolha da cores de fonte e background do 
currículo 
• Crie um formulário de cadastro de eventos 
• Dê opção para o usuário marcar datas e horas de início e fim 
• Crie um formulário de busca avançada 
• Utilize mais filtros além do texto em si que pode ser feito com o 
campo search 
17
TAGS EDITÁVEIS 
• Qualquer tag pode ser editável agora 
• contenteditable. Atributo que torna naturalmente possível a 
edição de uma tag pelo usuário 
• Assim como qualquer campo de formulário, propicia a coleta 
de informações do usuário, mas neste caso, nada é 
naturalmente enviada ao servidor 
• Essa prática vem sendo muito aplicada em conjunto com 
técnicas novas da HTML5 como verificação de status do 
browsers (online ou offline) e armazenamento de dados locais 
no cliente (Web Storage) 
• Requer o uso de Javascript para potencializar sua utilidade 
• Ex.: <ul contenteditable="true"><li/></ul> 
• Este código apenas gera um sinal de tópico para que o usuário 
preencha 
• Se o usuário escrever tags, estas serão devidamente 
escapadas 
18
IFRAMES 
• Como inserir um código HTML dentro de outra 
página 
• <iframe> é uma tag que possibilita controlar um documento por 
baixo de outro 
• Ex.: <iframe src="outrapagina.html"></iframe> 
• Iframes e o AJAX 
• Já foi muito utilizado para promover chamadas assíncronas ao 
servidor sem atualizar a página inteira 
• O lado negativo é a divisão do código Javascript em dois arquivos 
• WYSIWYG 
• Iframes são utilizados hoje como editores avançados de conteúdo 
• Precisam de Javascript para colocá-los em designMode = "On" 
• Obs.: Não falaremos sobre <frame> e <frameset> neste curso. Obsoletos 
19

Mais conteúdo relacionado

PPTX
HTML5 & CSS3
PDF
Html5 Aula 6
PDF
Minicurso de HTML básico - Atualizado para HTML5
PDF
E-book sobre HTML 5 (Devmedia)
PPTX
HTML 5 A evolução do HTML 4 para o HTML 5
PDF
Mini curso html5 slides
PDF
Html5 Aula 5
PDF
Html5 aula 02
HTML5 & CSS3
Html5 Aula 6
Minicurso de HTML básico - Atualizado para HTML5
E-book sobre HTML 5 (Devmedia)
HTML 5 A evolução do HTML 4 para o HTML 5
Mini curso html5 slides
Html5 Aula 5
Html5 aula 02

Mais procurados (20)

PDF
Curso de HTML5 - Aula 01
PPTX
HTML5 CSS3
PDF
Apresentação do Curso Primeiros Passos na Web com HTML e CSS - Profite e Univ...
PPT
Agilidade e Semântica com HTML5 e CSS3
PPTX
Introdução a HTML5
PDF
Programação Web com HTML e CSS
PDF
Html 5 e Css3
PDF
Html5 & CSS3
PDF
Introdução ao HTML e CSS
PDF
Curso html basico_aula-001
PDF
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PT
PDF
Curso de HTML5 - Aula01
PDF
Criação de sites
PDF
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
PPTX
html, css e java script - renato araujo
PPTX
Curso de html - Introdução ao HTML
PDF
Curso HTML e CSS Part1
PPT
PDF
Apostila html,xhtml e css
Curso de HTML5 - Aula 01
HTML5 CSS3
Apresentação do Curso Primeiros Passos na Web com HTML e CSS - Profite e Univ...
Agilidade e Semântica com HTML5 e CSS3
Introdução a HTML5
Programação Web com HTML e CSS
Html 5 e Css3
Html5 & CSS3
Introdução ao HTML e CSS
Curso html basico_aula-001
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PT
Curso de HTML5 - Aula01
Criação de sites
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
html, css e java script - renato araujo
Curso de html - Introdução ao HTML
Curso HTML e CSS Part1
Apostila html,xhtml e css
Anúncio

Destaque (7)

PDF
HTML5 Básico: Formulários (aula 2)
PDF
Javascript, HTML5 e CSS3
PDF
Html (formulário)
PDF
Introduccion a HTML5
PDF
HTML5 Básico: Multimídia 1 (aula 3)
PDF
CSS3: Start (aula 1)
PDF
Farol: Os 4 ciclos
HTML5 Básico: Formulários (aula 2)
Javascript, HTML5 e CSS3
Html (formulário)
Introduccion a HTML5
HTML5 Básico: Multimídia 1 (aula 3)
CSS3: Start (aula 1)
Farol: Os 4 ciclos
Anúncio

Semelhante a Html5 Aula 4 (20)

PDF
Estudos Technocorp
PDF
Introdução a Arquitetura de Sistemas
PDF
Desevolvimento Web Client-side - HTML
PDF
Curso HTML 5 - Aula Inicial
PDF
HTML - Guia 3
PPTX
Aplicações web parte 1
PPTX
HTML5 e CSS3 - Recursos mais utilizados
PDF
MVP Virtual Conference 2013: Suporte a padrões Web
PPTX
Treinamento Elasticsearch - Parte 2
PPTX
Comandos gerais do PHP
PDF
Curso HTML 5 - Aula com Formulários, Imagens, Áudio e Vídeo
KEY
Apresentação - HTML5 e CSS3 Fabrica do Design
PPT
Overview ITS SAP Web Dynpros version ECC
PPT
HTML.ppt
PPTX
Programaçao C - Aula 2
PDF
Preparando-se para a prova da Certificação Zend PHP 5.3
PPTX
Express2012simples 130312140529-phpapp01
PDF
HTML, CSS & JS: olhando pra frente
PPT
Cakephp - framework de desenvolvimento de aplicações Web em PHP
PDF
(A06) LabMM3 - JavaScript
Estudos Technocorp
Introdução a Arquitetura de Sistemas
Desevolvimento Web Client-side - HTML
Curso HTML 5 - Aula Inicial
HTML - Guia 3
Aplicações web parte 1
HTML5 e CSS3 - Recursos mais utilizados
MVP Virtual Conference 2013: Suporte a padrões Web
Treinamento Elasticsearch - Parte 2
Comandos gerais do PHP
Curso HTML 5 - Aula com Formulários, Imagens, Áudio e Vídeo
Apresentação - HTML5 e CSS3 Fabrica do Design
Overview ITS SAP Web Dynpros version ECC
HTML.ppt
Programaçao C - Aula 2
Preparando-se para a prova da Certificação Zend PHP 5.3
Express2012simples 130312140529-phpapp01
HTML, CSS & JS: olhando pra frente
Cakephp - framework de desenvolvimento de aplicações Web em PHP
(A06) LabMM3 - JavaScript

Mais de Jose Berardo (15)

PDF
HTML5 Mobile - Aula 3 - Device Orientation
PDF
Oracle Certified Associate - Java Programmer I - aula 2
PDF
HTML5 Mobile Aula 1
PDF
Java Certified Associate Aula 1
PDF
Curso de Android Aula 4
PDF
Curso de Android - aula 3
PDF
Curso de Android - aula 2
PDF
Curso de Google Android - Aula 1
ODP
Curso de Java EE 6
PDF
Html5 Aula 3
PDF
Html5 aula 01
ODP
Html5 - O futuro da Web
ODP
O que há de novo no PHP 5.3
ODP
Certificacao Php
ODP
Certificacoes Desenvolvedores
HTML5 Mobile - Aula 3 - Device Orientation
Oracle Certified Associate - Java Programmer I - aula 2
HTML5 Mobile Aula 1
Java Certified Associate Aula 1
Curso de Android Aula 4
Curso de Android - aula 3
Curso de Android - aula 2
Curso de Google Android - Aula 1
Curso de Java EE 6
Html5 Aula 3
Html5 aula 01
Html5 - O futuro da Web
O que há de novo no PHP 5.3
Certificacao Php
Certificacoes Desenvolvedores

Último (12)

PDF
Apostila_de_Laboratorio_de_Quimica_Inorg.pdf
PDF
A teoria como arma da luta_ unidade, luta e cultura no pensamento político de...
PDF
CORPO, ALMA E ESPÍRITO cura inteiror.pdf
PPTX
Classifirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcação_IPAQ.pptx
PPTX
TURMA modelo de modelo apresentação 4DE.pptx
PPTX
Fundamentos do Desenvolvimento Web. Fundamentos do Desenvolvimento Web.Fundam...
PPTX
AULA DE HTML E CSS PARA INICIANTES EM INFORMÁTICA
PDF
A sua pontuação aumenta ao escolher uma categoria, preencher uma descrição lo...
PDF
Certificado de Conclusão Jornada Inteligência Artificial
PDF
Metodologias ágeis - Slides - aulas 1 a 5.pdf
PDF
Agosto-Lilas-Conscientizacao-e-Combate-a-Violencia-contra-a-Mulher.pdf
PDF
A teoria como arma da luta_ unidade, luta e cultura no pensamento político de...
Apostila_de_Laboratorio_de_Quimica_Inorg.pdf
A teoria como arma da luta_ unidade, luta e cultura no pensamento político de...
CORPO, ALMA E ESPÍRITO cura inteiror.pdf
Classifirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcação_IPAQ.pptx
TURMA modelo de modelo apresentação 4DE.pptx
Fundamentos do Desenvolvimento Web. Fundamentos do Desenvolvimento Web.Fundam...
AULA DE HTML E CSS PARA INICIANTES EM INFORMÁTICA
A sua pontuação aumenta ao escolher uma categoria, preencher uma descrição lo...
Certificado de Conclusão Jornada Inteligência Artificial
Metodologias ágeis - Slides - aulas 1 a 5.pdf
Agosto-Lilas-Conscientizacao-e-Combate-a-Violencia-contra-a-Mulher.pdf
A teoria como arma da luta_ unidade, luta e cultura no pensamento político de...

Html5 Aula 4

  • 2. HTML5 ESSENCIAL Fundamentos de todo serviço na Web
  • 3. EMENTA • Fundamentos de Web • Documentos HTML • Conteúdo • Multimídia • Semântica • Desempenho 3
  • 4. O QUE VEREMOS AGORA • Fundamentos da Web • Documentos HTML • Conteúdo • Section, div, span, aside, parágrafos, cabeçalhos e rodapé • Tabelas • Formulários (campos e atributos) • Forms 2.0 • Tags editáveis (contenteditable) • IFrames • Multimídia • Semântica 4
  • 6. FORMS 2.0 • Após alguns anos sem evoluções nessa área, o Opera iniciou um processo de criação de novos campos de formulário • A especificação FORMS 2.0 é mais antiga mas entrou oficialmente na coleção de especificações da HTML5 • color - Campo para escolha de cores • Utiliza a paleta flutuante de cores do sistema operacional • date - Escolha de data • datetime - Escolha de data e hora (UTC) • datetime-local - Data e hora no fuso local • month. Escolha do mês • Todos usam uma caixa flutuante de escolha de data 6
  • 7. FORMS 2.0 • Mais campos novos da HTML5 • email - Campo para escrita de emails • number - Exibição de números como um spinner (botões de rolagem para cima e para baixo) • tel - Para campos de telefone • time - Spinner para horários • Por padrão, exibe apenas horas:minutos • url - Campo para escrita de URLs • range - Linha com um marcador slider • search - Campo de texto para buscas • O Chrome exibe um X para apagar o texto quando digitado 7
  • 8. FORMULÁRIOS • Novos atributos do HTML5 • placeholder - Novo no HTML5, exibe um texto quando o campo estiver vazio e não estiver com o foco • Quando o usuário digitar algo, o texto do placeholder sai. • Ex.: <input type="text" placeholder="Digite algo aqui"/> • min e max - Determinam os limites mínimos e máximos de campos como range ou number. • autocomplete - Admite on ou off. Determina se o campo poderá assumir o autocomplete padrão do browser • autofocus - Para requisitar o foco assim que a página for carregada • form - Atributo que torna possível um campo vir escrito fora dos limites das tags <form> • <input type="search" form="busca_avancada" name="termo" /> • <form id="busca_avancada"> ... </form> 8
  • 9. FORMULÁRIOS • Steps • step - Campo que define de quanto em quanto será o incremento/decremento de spinners (setas pra cima e pra baixo) de campos como time e number • A unidade de medida dos steps em campos time é o segundo • Deve ser informado um valor positivo • Se o step for múltiplo de 60, o campo time só exibe hora e minutos, caso contrário também contempla os segundos • A combinação dos atributos min, max, step e value devem ser coerentes para não proporcionar comportamentos estranhos • Campos range também possuem steps • Nestes casos, o step coincide com o tamanho em pixels do objeto 9
  • 10. FORMULÁRIOS • Comportamento ao submeter o formulário • Campos url são prefixados com http:// se não estiverem no formato correto de URL (iniciando por protocolo://) • Campos de data são enviados usando sempre um formato padrão • A especificação, por enquanto, não foi clara quanto ao formato desses campos. Deixou a cargo dos browsers • Campos color são enviados no formato #rgb, sendo: • R - red, G - green, B - blue • Forms 2.0 já embutem validações client-side sem a necessidade de uso de Javascript • Campos preenchidos com valores incorretos para o tipo específico são checados e impedem a transmissão do formulário para o servidor • Os browsers costumam exibir balões sobre o campo indicando o erro de preenchimento 10
  • 11. VALIDAÇÕES DE INPUTS • Campos requeridos • required - Torna o campo de preenchimento obrigatório • Mais regras que impedem a transmissão do formulário • Campos url devem seguir as regras de codificação de URLs • Espaços devem ser trocados por %20 • Campos email devem conter emails válidos • Valores de campos numéricos devem estar entre min e max e serem múltiplos de step, se estes forem fornecidos • Campos com o novo atributo pattern precisam ter um valor de acordo com a máscara informada nele • Atributo ainda não suportado no IE nem no Safari 11
  • 12. VALIDAÇÕES DE INPUTS • Expressões regulares • pattern - Atributo que restringe a máscara do conteúdo no campo em questão • O atributo title deve ser usado para informar a máscara usada de um jeito mais claro ao usuário leigo • Ex. 1: <input type="text" name="cep" title="CEP: 00000-000" pattern="d{5}-d{3}" /> • Ex. 2: <input type="text" name="cpf" title="CPF: 000.000.000-00" pattern="d{3}(.d{3}){2}-d{2}" /> • Ex. 3: <input type="text" name="IP" title="Endereço IP válido para um ponto na rede" pattern="([1-9]{1,2}) | (1dd) | (2[0-4]d) | 25[0-4]" /> • Para simplificar, o pattern do exemplo 3 contemplou apenas o primeiro dígito, que deve ser algo entre 1 e 254 • Os espaços entre as barras em pé | (pipe), que significam “ou” lógico estão aí apenas para melhorar a legibilidade do exemplo. Não devem ser digitados 12
  • 13. VALIDAÇÕES DE INPUTS • Metacaracteres qualificadores: • São usados para validar apenas um caractere do texto • . (ponto) - Representa qualquer caractere • [ e ] - Para englobar lista de valores permitidos • [^ e ] - Para englobar lista de valores proibidos • d - Só admite números • w - Só admite letras, números e caracteres _ • s - Só admite caracteres de espaço • D, W, S - Inversos de suas contrapartidas minúsculas • ( e ) - Agrupamentos de conteúdo • | - Ou lógico. Utilize os parênteses para ele afetar um grupo todo • - Retira o poder de algum metacaratere. Ele vira simples texto • - - Dentro de listas, representam faixas de valores possíveis 13
  • 14. VALIDAÇÕES DE INPUTS • Metacaracteres quantificadores: • São usados para dar quantidade à expressão anterior • ? - Opcional. Pode vir zero ou uma vez • + - Deve vir pelo menos uma vez • * - Opcional. Pode vir zero ou várias vezes • {x} - Deve vir exatamente X vezes • {x,y} - Deve vir de x a y vezes • {x,} - Deve vir pelo menos x vezes • {,y} - Deve vir até y vezes • Metacaracteres limítrofes (não necessários aqui) • ^ - Deve vir no início da máscara e representa o início do texto • $ - Deve vir no final da máscara e representa o fim do texto • b - Delimita a borda de um texto (para pre/sufixo de palavras) 14
  • 15. FORMS 2.0 • Outras tags para formulários • <keygen> - Tag que envia uma chave pública para o servidor poder utilizar para cifrar o conteúdo. Só quem gera uma chave pública detém sua chave privada capaz de decifrar • Essa tag gera um combobox para o usuário escolher a quantidade de bits do tamanho dessa chave • http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/ 20080714/07ea5534/attachment.txt • <datalist> - Renderiza um suggest no browser. Parecido com o select, mas não é na verdade um campo de formulário • Deve ser usado como provedor de lista de valores para um input text • Para informar o datalist como provedor de valores de sugestões é necessário definir um id para o datalist e um atributo list para o input • <input type="text" list="ufs"/> • <datalist id="ufs"><option>Pernambuco</option>...</datalist> 15
  • 16. FORMS 2.0 • Leituras recomendadas • Artigos sobre Forms 2.0 • http://diveintohtml5.info/forms.html • http://hacks.mozilla.org/2010/11/firefox-4-html5-forms/ • Webforms2 - http://code.google.com/p/webforms2/ • Código Javascript para fazer os novos campos funcionarem em browsers antigos (recomenda-se testar) • Status do Forms 2.0 - http://wufoo.com/html5/ • Site atualizado sobre o índice de adoção dos novos recursos para formulários • Expressões regulares - http:www.guia-er.sf.net/ • Excelente material gratuito do autor brasileiro Aurélio Marinho Jargas 16
  • 17. EXERCÍCIOS • Utilize todos os novos recursos vistos nesta aula para incrementar o formulário de cadastro de currículo feito na aula anterior • Utilize campos de preenchimento obrigatório, placeholders, patterns, steps e valores numéricos mínimos e máximos • Dê a opção de escolha da cores de fonte e background do currículo • Crie um formulário de cadastro de eventos • Dê opção para o usuário marcar datas e horas de início e fim • Crie um formulário de busca avançada • Utilize mais filtros além do texto em si que pode ser feito com o campo search 17
  • 18. TAGS EDITÁVEIS • Qualquer tag pode ser editável agora • contenteditable. Atributo que torna naturalmente possível a edição de uma tag pelo usuário • Assim como qualquer campo de formulário, propicia a coleta de informações do usuário, mas neste caso, nada é naturalmente enviada ao servidor • Essa prática vem sendo muito aplicada em conjunto com técnicas novas da HTML5 como verificação de status do browsers (online ou offline) e armazenamento de dados locais no cliente (Web Storage) • Requer o uso de Javascript para potencializar sua utilidade • Ex.: <ul contenteditable="true"><li/></ul> • Este código apenas gera um sinal de tópico para que o usuário preencha • Se o usuário escrever tags, estas serão devidamente escapadas 18
  • 19. IFRAMES • Como inserir um código HTML dentro de outra página • <iframe> é uma tag que possibilita controlar um documento por baixo de outro • Ex.: <iframe src="outrapagina.html"></iframe> • Iframes e o AJAX • Já foi muito utilizado para promover chamadas assíncronas ao servidor sem atualizar a página inteira • O lado negativo é a divisão do código Javascript em dois arquivos • WYSIWYG • Iframes são utilizados hoje como editores avançados de conteúdo • Precisam de Javascript para colocá-los em designMode = "On" • Obs.: Não falaremos sobre <frame> e <frameset> neste curso. Obsoletos 19