Professional Documents
Culture Documents
1.
H trs tags de formulrios que pertencem a definio do HTML 4.01 mas que no
foram includas nas vdeo aulas do curso pois ainda no existiam na poca em que estas foram
preparadas: <fieldset>, <legend> e <label>.
a. Tag <fieldset>
A tags <fieldset> foi criada para dividir logicamente o formulrio em grupos de
elementos relacionados. Ela uma tag container que deve englobar estes elementos. Sua
aparncia nos principais navegadores a de uma linha englobando estes elementos. O cdigo
mostrado no exemplo 1.1 deve ser exibido conforme a figura 1.1:
<fieldset>
Nome: <input type="text" size="20" />
<br/><br/>
Email: <input type="text" size="20" />
<br/><br/>
Data: <input type="text" size="2" /> /
<input type="text" size="2" /> /
<input type="text" size="2" />
</fieldset>
Fig. 1.1
Exemplo 1.1
b. Tag <legend>
A tags <legend> complementar a tag <fieldset> e serve para acrescentar uma legenda
explicando o significado do grupo de elementos de formulrio. Sua aparncia nos principais
navegadores a de um texto sobre a linha superior do fieldset. O cdigo mostrado no exemplo
1.2 deve ser exibido conforme a figura 1.2:
<fieldset>
<legend>Dados Pessoais</legend>
Nome: <input type="text" size="20" />
<br/><br/>
Email: <input type="text" size="20" />
<br/><br/>
Data: <input type="text" size="2" /> /
<input type="text" size="2" /> /
<input type="text" size="2" />
</fieldset>
Exemplo 1.2
Fig. 1.2
c. Tag <label>
A tag <label> tem como finalidade estabelecer uma ligao entre um rtulo e um
elemento do formulrio. Para que a ligao seja estabelecida necessrio que seja definido
um atributo for na tag <label> cujo valor deve corresponder ao valor do atributo id da tag do
elemento do formulrio com quem queremos fazer a ligao.
A tag <label> em si no causa nenhuma mudana no aspecto do texto do rtulo ou do
elemento do formulrio ligado a ele. Um efeito interessante acontece no caso dos botes de
rdio e dos botes do tipo checkbox. Nestes elementos, a seleo com o mouse do rtulo
associado causa a modificao do estado do boto.
A definio do atributo accesskey na tag <label> permite que o usurio selecione o
elemento associado atravs de uma tecla de atalho definida pelo valor deste atributo. Por
exemplo, se o valor de accesskey for a letra m, o elemento pode ser associado ao se digitar
Shift + Alt + m.
<fieldset>
<legend>Dados Pessoais</legend>
<label for="nome" accesskey="n">Nome:</label>
<input type="text" size="20" id="nome" />
<br/><br/>
<label for="email" accesskey="e">Email:</label>
<input type="text" size="20" id="email" />
<br/><br/>
Sexo:
<input type="radio" id="mas"
name="sex"
value="M" />
<label for="mas" accesskey="m">Masculino</label>
<input type="radio" id="fem"
name="sex"
value="F" />
<label for="fem" accesskey="f">Feminino</label>
</fieldset>
Exemplo 1.3
2.
Fig. 2.1
Exemplo 2.1
b.
O atributo novalidate pode ser includo na tag <form> e serve para desabilitar as crticas
de formulrio automticas, como as criadas pelo atributo required. Este atributo deve ser
usado em situaes em que voc no deseja ativar a validao, por exemplo, quando
estivermos testando o programa que vai tratar no servidor dos dados recebidos do formulrio.
Assim podemos testar a situao de exceo de algum campo obrigatrio no ter valor ao ser
enviado para o servidor.
Exemplo 2.2
c. Atributo autofocus
O atributo autofocus, quando colocado em um campo do formulrio, faz com que este
campo receba o foco automaticamente quando a pgina carregada. Naturalmente, suposto
que exista apenas um campo com o autofocus definido. Se houver mais de um campo com
este atributo definido o resultado imprevisvel e vai depender do navegador.
<input type="text" name="email" autofocus />
Exemplo 2.3
d. Atributo placeholder
O atributo placeholder utilizado quando queremos que algum valor aparea num
campo do formulrio como uma mensagem indicando como o usurio deve preencher aquele
campo, porm sem que isso afete o valor do campo (o que aconteceria se usssemos o
atributo value). Observe o cdigo do exemplo 2.4 e na figura 2.4 o que vai aparecer no campo
assim que a pgina for carregada:
E-mail:
<input type="text" name="email"
placeholder="Digite seu e-mail" />
Exemplo 2.4
Fig. 2.4
Este valor deste atributo aparece apenas quando a pgina carregada e desaparece
assim que o usurio selecione o campo, sem que seja preciso apag-lo, caractere a caractere.
e. Atributo readonly
O atributo readonly utilizado quando queremos usar um campo de um formulrio
apenas para exibir um dado. Quando este atributo definido em um campo, o valor deste
campo no pode ser modificado pelo usurio. O campo ficar com seu valor original ou ter o
seu valor modificado por um cdigo javascript. O exemplo 2.5 mostra um formulrio que
implementa uma soma onde o campo de resultado ser preenchido por javascript:
<form>
<input name="A" type="text" size="2" /> +
<input name="B" type="text" size="2" /> =
<input name="R" type="text" size="3" readonly />
</form>
Exemplo 2.5
3.
Firefox
Chrome
Safari
Opera
Fig. 3.1
Exemplo 3.1
O que o navegador espera que seja um e-mail : um ou mais nomes (pelo menos um
caractere alfanumrico) separados por pontos, seguido do caractere @, seguindo um ou mais
nomes ou nmeros separados por pontos. O rigor da crtica pode variar ligeiramente entre os
navegadores que implementam este campo (o Opera, por exemplo, permite um endereo
terminado no caractere ponto).
b. Input com type url
A tag <input> com o atributo type com valor url um campo de entrada de texto
especfico para ler um endereo de internet no formato URL. A novidade deste campo que o
prprio navegador faz a crtica do valor digitado pelo usurio e emite uma mensagem caso
este tente abandonar o campo sem ter preenchido um valor vlido. O exemplo 3.2 mostra um
formulrio com o campo url e a figura 3.2 mostra o que acontece quando se tenta enviar o
formulrio com um valor incorreto de URL:
<fieldset>
<form action="demo_form.asp">
<label for="site">Site: </label>
<input type="url" required
id="site" name="site" />
<input type="submit" value="OK" />
</form>
</fieldset>
Fig. 3.2
Exemplo 3.2
O rigor da crtica pode variar ligeiramente entre os navegadores que implementam este
campo, porm a maioria dos navegadores fica contente com um nome seguido do caractere
:.
Exemplo 3.3
Fig. 3.3
e. Input com type number
A tag <input> com o atributo type com valor number um campo de entrada
especfico para ler um nmero. No momento, apenas o Chrome, o Safari e o Opera
implementaram este elemento totalmente. Nestes navegadores mostrado para o usurio um
campo de entrada de texto readonly. O seu valor pode ser modificado por dois pequenos
botes que aparecem ao lado do campo (figura 3.4). Estes botes servem para aumentar ou
diminuir o valor numrico mostrado no campo.
<form action="demo_form.asp">
<fieldset>Pares:<br/>
2 <input type="number" min="2"
max="12" step="2" /> 12</fieldset>
</form >
Fig. 3.4
Exemplo 3.4
Trs atributos devem ser definidos nesta tag: o atributo min indica o valor numrico
mnimo, o atributo max indica o valor numrico mximo e o atributo step indica o incremento
utilizado cada vez que um dos botes laterais for selecionado. O valor do campo o valor
numrico sendo exibido. Nos demais navegadores, este elemento aparece como um campo
de entrada de texto comum.
f.
A tag <input> com o atributo type com valor range outro tipo de campo de entrada
para ler nmeros. No momento, apenas o Chrome, o Safari e o Opera implementaram este
elemento. Nestes navegadores mostrado para o usurio uma linha reta com um boto que
pode ser movimentado sobre ela, assumindo um valor do intervalo especificado de acordo
com a posio sobre a reta (figura 3.5).
<form action="demo_form.asp">
<fieldset>Pares:<br/>
2 <input type="range" min="2"
max="12" step="2" /> 12</fieldset>
</form>
Fig. 3.5
Exemplo 3.5
Assim como no type com valor number, trs atributos devem ser definidos nesta tag:
o atributo min indica o valor numrico mnimo, o atributo max indica o valor numrico
mximo e o atributo step indica o incremento para cadas posio sobre a reta. O valor do
campo o valor numrico correspondente a posio do boto. Nos demais navegadores, este
elemento aparece como um campo de entrada de texto comum.
g. Input com type search
A tag <input> com o atributo type com valor search serve para entrar uma chave para
ser passada a um site de busca (como o google, por exemplo). Ele implementado como um
campo de entrada de texto comum, com dois comportamentos extras: um boto na forma da
letra x que permite limpar o contedo do campo e a oferta, na forma de um pop menu, de
opes para completar o campo de busca baseado nas buscas anteriores (figura 3.6).
<form method="get"
action="https://google.com/search">
<fieldset>Google:
<input type="search" name="q" size="8" />
<input type="submit" value="buscar" />
</fieldset>
</form>
Fig. 3.6
Exemplo 3.6
No exemplo 3.6 definimos os atributos do formulrio para fazer uma busca no google:
method com valor get (para passar o campo do formulrio na URL) e action com o endereo
do google. O nome do campo de busca foi definido como q pois o esperado pelo google.
Exemplo 3.6
Fig. 3.6
i.
H tambm diversos campos relacionados com tempo e data, definidos pelo atributo
type da tag <input>, que no momento apenas o Opera e o Safari implementam. Estes campos
so:
time permite incluir um horrio no formato hh:mm.
month permite definir um ms (aaaa-mm).
week permite definir uma semana (aaaa-Wss).
datetime permite definir uma data e um horrio (aaaa-mm-ddThh:mmZ).
datetime-local mesmo do anterior, sem timezone (aaaa-mm-ddThh:mm).
O exemplo 3.7 mostra o comportamento de datetime no Opera:
<form action="demo_form.asp">
<fieldset>Festa:
<input type="datetime"
name="datafesta" />
</fieldset>
</form>
Exemplo 3.7
Fig. 3.7
4.
Significado
[0-9]
[A-Z]
[a-z]
[A-z]
[adgk]
[^adgk]
(red|blue|green)
n+
n*
n?
n{X}
n{X,Y}
n{X,}
n$
^n
?=n
?!n
Significado
Qualquer string que contm PELO MENOS UM n.
Qualquer string que contm zero OU MAIS OCORRNCIAS DE n.
Qualquer string que contm zero OU UMA OCORRNCIA DE n.
Qualquer string que contm uma sequencia de X ns
Qualquer string que contm uma sequencia de X to Y ns
Qualquer string que contm uma sequencia de pelo menos X ns
Qualquer string que contm n NO SEU FINAL.
Qualquer string que contm n NO SEU INCIO.
Qualquer string que seguida por uma string n
Qualquer string que NO seguida por uma string n
\w
\W
\d
\D
\s
\S
\n
\t
\x
Significado
Modelo
dddd-dddd
(dd) dddd-dddd
ddddd-ddd
ddd.ddd.ddd-dd
ddd.ddd.ddd.ddd
nome@nome.nome
Significado
Nmero de telefone
Nmero de telefone com DDD
CEP
CPF
Nmero IP
E-mail
Expresso Regular
[0-9]{4}-[0-9]{4}
\([0-9]\)\s[0-9]{4}-[0-9]{4}
[0-9]{5}-[0-9]{3}
[0-9]{3}\.[0-9]{3}\.[0-9]{3}-[0-9]{2}
([0-9]{3}\.){3}[0-9]{3}
\w+(\.\w+)?@\w+(\.\w+)*
Fig. 4.1
Exemplo 4.1
Se voc digitar este exemplo vai notar que ele resolve o problema da crtica antes de
enviar o formulrio, porm, quando o usurio deixou o campo e passou para outro, o
navegador j poderia informa-lo que o dado no estava no formato correto. No HTML5 h
tambm uma forma de fazer isso sem precisar da ajuda do javascript.
Exemplo 4.2
5.
O atributo list
Na seo 3 item g deste documento, vimos que a tag <input> com type search abre um
popup menu com sugestes para complementar o dado do campo. O HTML5 tem outra
funcionalidade com este comportamento e ela conseguida atravs da utilizao do atributo
list na tag <input> em conjunto com a nova tag <datalist>. No exemplo 5.1 criamos com o
datalist um lista de pases cujo nome comea com a letra A. Quando o usurio digita esta letra
aberto o popup menu mostrado na figura 5.1. Se o usurio selecionar uma de suas entradas
o campo automaticamente completado com o valor selecionado.
<form action="demo_form.asp">
<fieldset>
<label for="nomePais">Pas: </label>
<input id="nomePais" name="nomePais"
type="text" list="pais" />
<datalist id="pais">
<option value="Afeganisto">
<option value="Albania">
<option value="Alemanha">
<option value="Andorra">
<option value="Angola">
</datalist></fieldset></form>
Exemplo 5.1
http://www.w3schools.com/jsref/jsref_obj_regexp.asp
Fig. 5.1