Professional Documents
Culture Documents
HTML, CSS e
JavaScript
Agosto de 2007
Verso 1
AVISO DE RESPONSABILIDADE
As informaes contidas neste material de treinamento so distribudas NO ESTADO EM
QUE SE ENCONTRAM, sem qualquer garantia, expressa ou implcita. Embora todas as
precaues tenham sido tomadas na preparao deste material, a Processor Alfamdia
LTDA. no tem qualquer responsabilidade sobre qualquer pessoa ou entidade com respeito
responsabilidade, perda ou danos causados, ou alegadamente causados, direta ou
indiretamente, pelas instrues contidas neste material ou pelo software de computador e
produtos de hardware aqui descritos.
01/08/2007
Alfamdia Prow LTDA
Av. Cristvo Colombo 1496
Porto Alegre, RS
(51) 3073-2100
http://www.alfamidia.com.br
WEB,
HTML, CSS e
JavaScript
UNIDADE 1
1.1
1.2
1.3
1.3.1
1.3.2
1.3.3
1.4
1.5
1.5.1
1.5.2
1.6
1.6.1
1.6.2
UNIDADE 2
2.1
2.2
2.3
2.4
2.5
UNIDADE 3
3.1
3.2
3.3
3.3.1
3.3.2
3.4
3.4.1
3.4.2
3.4.3
3.5
3.5.1
3.5.2
UNIDADE 4
4.1
FAZENDO REFERNCIA A OUTROS DOCUMENTOS ......................................................................... 29
4.1.1
Referncia Relativa ................................................................................................................. 29
4.1.2
Referncia Absoluta................................................................................................................. 29
4.1.3
Referncia Externa .................................................................................................................. 30
5.1
HIPERLINKS................................................................................................................................... 35
5.1.1
Pgina com Links Exemplo 1 ............................................................................................... 35
UNIDADE 6
6.1
TABELAS E LAYOUT DE PGINAS .................................................................................................. 37
6.2
CONSTRUINDO UMA TABELA ........................................................................................................ 37
6.2.1
Exemplo de uma Tabela Simples ............................................................................................. 38
6.2.2
Tabelas Mais Sofisticadas ....................................................................................................... 39
6.2.3
Construindo uma Tabela mais Sofisticada .............................................................................. 43
6.2.4
Integrando Recursos em Tabelas............................................................................................. 44
UNIDADE 7
7.1
7.2
7.3
7.4
7.5
7.6
FORMULRIOS ...................................................................................................................................... 45
INTRODUO A FORMULRIOS ..................................................................................................... 45
CRIANDO UM FORMULRIO .......................................................................................................... 45
UM PRIMEIRO FORMULRIO ......................................................................................................... 46
FORMULRIOS COM DIFERENTES TIPOS DO INPUT ...................................................................... 47
ENTRADA DE VRIAS LINHAS DE TEXTO - TEXTAREA ................................................................ 49
MENUS COM OPES - SELECT ................................................................................................... 50
UNIDADE 8
8.1
8.2
8.3
8.4
8.5
8.6
8.6.1
8.6.2
8.6.3
8.7
8.7.1
8.7.2
8.7.3
8.7.4
8.8
O CSS ........................................................................................................................................... 52
BENEFCIOS EM UTILIZAR CSS ..................................................................................................... 52
CSS PARA SEPARAR CONTEDO DA APRESENTAO ................................................................... 53
PGINAS COM SEMNTICA CORRETA ........................................................................................... 54
SINTAXE DO CSS .......................................................................................................................... 55
APLICANDO ESTILOS A UMA PGINA ............................................................................................. 56
Aplicando estilos a toda a pgina HTML ................................................................................ 56
Aplicando estilos apenas uma tag HTML especfica ............................................................ 56
Utilizando um arquivo de estilos externo ................................................................................ 57
FORMAS DE UTILIZAO DOS SELETORES ..................................................................................... 57
Aplicando estilos uma tag: ................................................................................................... 57
Definindo estilos para mais um grupo de tags ........................................................................ 58
Definindo uma classe de estilos ............................................................................................... 59
Definindo um ID de estilos ...................................................................................................... 59
EXERCCIOS .................................................................................................................................. 62
UNIDADE 9
9.1
9.2
9.3
9.4
9.5
9.6
UNIDADE 10
O QUE JAVASCRIPT?................................................................................................................... 69
ONDE OS SCRIPT PODEM SER EXECUTADOS ? ................................................................................ 69
UNIDADE 11
11.1
UTILIZANDO COMENTRIOS ......................................................................................................... 70
11.2
TIPOS DE DADOS............................................................................................................................ 70
11.2.1
Tipos de dados Primitivos (por valor) ................................................................................ 71
11.2.2
Tipos de dados Compostos (por referncia) ....................................................................... 71
11.2.3
Tipos de dados especiais (undefined e Null) ....................................................................... 71
11.3
VARIVEIS .................................................................................................................................... 72
11.4
OPERADORES ................................................................................................................................ 73
11.5
A ESTRUTURA DE UM SCRIPT JAVASCRIPT .................................................................................... 74
11.6
CRIANDO UM SCRIPT EM UMA PGINA HTML............................................................................... 75
11.7
ESTRUTURAS DE TESTE ................................................................................................................. 75
11.8
ESTRUTURAS DE REPETIO ......................................................................................................... 77
11.8.1
While ................................................................................................................................... 77
11.8.2
For ...................................................................................................................................... 77
UNIDADE 12
12.1
UTILIZANDO FUNES NO JAVASCRIPT......................................................................................... 79
12.2
AS FUNES INTRNSECAS DO JAVASCRIPT ................................................................................... 79
12.2.1
A funo Eval() ................................................................................................................... 79
12.2.2
A funo parseInt() e parseFloat() ..................................................................................... 80
12.2.3
Funo escape() e unescape() ............................................................................................ 81
12.2.4
A funo isNaN() ................................................................................................................ 81
12.3
FUNES CRIADAS PELO USURIO ................................................................................................ 81
UNIDADE 13
13.1
OBJETOS INTRNSECOS .................................................................................................................. 83
13.1.1
O Objeto Date ..................................................................................................................... 83
13.1.2
O Objeto Array ................................................................................................................... 84
13.1.3
O Objeto Math .................................................................................................................... 85
13.1.4
O Objeto String ................................................................................................................... 86
13.2
OBJETOS CRIADOS PELO USURIO ................................................................................................. 86
13.3
MTODOS...................................................................................................................................... 87
13.3.1
Mtodos estticos................................................................................................................ 87
13.3.2
A declarao this ............................................................................................................ 87
13.3.3
A declarao with ............................................................................................................ 87
UNIDADE 14
14.1
INTRODUO A DOM: .................................................................................................................. 89
14.2
O QUE HTML DOM? ................................................................................................................ 89
14.3
QUANDO DEVEMOS USAR JAVASCRIPT ......................................................................................... 89
14.4
AS DIVISES DE DOM ................................................................................................................... 89
14.5
ALTERAR CONTEDO COM HTML DOM ...................................................................................... 89
14.6
DOCUMENT OBJECTS .................................................................................................................... 90
14.7
PROPRIEDADES DO OBJETO BODY .................................................................................................. 90
14.8
OBJETO FORM ............................................................................................................................... 91
14.8.1
Atributos do Form............................................................................................................... 93
14.8.2
Mtodos de um FORM ........................................................................................................ 93
14.8.3
Eventos de um form ............................................................................................................ 93
14.8.4
Elements de um FORM................................................................................................... 94
15.1
TUTORIAL ..................................................................................................................................... 98
15.2
MAPEANDO EVENTOS DE UM FORMULRIO ................................................................................. 102
15.2.1
Mapeando Eventos atravs da tag script .......................................................................... 102
15.2.2
Mapeando eventos atravs de funes .............................................................................. 103
15.2.3
Mapeamento de eventos atravs de atribuio ................................................................. 104
15.3
EXTRAINDO INFORMAES DOS FORMULRIOS HTML .............................................................. 105
15.3.1
Buscando informaes de formulrios no nomeados ..................................................... 105
15.3.2
Buscando informaes de formulrios nomeados ............................................................ 106
15.4
VALIDANDO INFORMAES NO FORMULRIO ............................................................................. 107
15.4.1
Validando informaes de caixas de texto ........................................................................ 107
15.4.2
Validando listas de seleo simples e mltipla (Combo e ListBox) .................................. 108
15.4.3
Validando caixas de escolha simples e mltipla (RadioButton e CheckBox) ................... 110
15.4.4
Criando uma funo para mascaras de campos ............................................................... 112
15.5
VALIDAO COM REGULAR EXPRESSIONS (REGEX)................................................................... 114
UNIDADE 16
7.1
UNIDADE 17
UNIDADE 18
18.1
ESTRUTURA BSICA - FRAMESET................................................................................................ 124
18.1.1
Atributos de Frameset ....................................................................................................... 125
18.1.2
Frame................................................................................................................................ 130
Unidade 1
Arquitetura de Aplicaes WEB
1.1 Internet um pouco de histria
A Internet teve incio nos Estados Unidos em 1969 sob o nome de ARPANET. Composta
inicialmente de quatro computadores interligados, ela tinha como finalidade demonstrar
as potencialidades da construo de redes usando computadores dispersos em uma grande
rea. Em 1972, 50 universidades e instituies militares j possuam conexes.
Hoje a Internet uma arquitetura de software e hardware interligados que so mantidas
por organizaes comerciais e governamentais. Uma de suas principais caractersticas
que no possui um proprietrio nico, responsvel pelo seu funcionamento. Existem
apenas associaes e grupos que se dedicam a desenvolver protocolos e procedimentos
para suportar a interligao entre os computadores, ratificar padres e resolver questes
operacionais.
Solicitao HTTP
4. O navegador interpreta o HTML e exibe a pgina para o usurio. Ele tambm
interpreta algumas linguagens de script, como JavaScript.
menus dinmicos
A cada acesso a uma pgina, estes scripts geram dinamicamente uma pgina que
enviada para o browser. Desta forma, diferente de scripts no cliente, estes nunca so
vistos pelo cliente, no podendo ser copiados.
Os scripts server-side so geralmente indicados para:
Requisio Normal
10
11
BadBlue
Boa
Fnord
NaviServer
Roxen
12
1.5.2.2 NET
Na plataforma Microsoft .NET, o servidor de aplicao no visto como um elemento
separado. O sistema operacional Windows 2003 contm a infraestrutura necessria para
servir aplicaes, como o IIS, COM+ e Framework .NET.
1.6 Navegadores
Um dos aspectos mais visados pelos usurios e desenvolvedores a segurana dos
navegadores, devido ao crescimento e as inovaes das tcnicas de invases e infeces
que existem hoje em dia na internet.
Atualmente, os navegadores so obrigados a ter protees contra scripts maliciosos,
javascripts entre outros contedos que poderiam existir em sites que os mesmos acessam.
Atualmente o Mozilla Firefox considerado o navegador mais seguro (principalmente em
relao ao Internet Explorer), mas a Microsoft est lanando periodicamente atualizaes
em seu Windows Update. Na rea de segurana o Firefox possui um interruptor de scripts
(caso venham a atrapalhar sua navegao ou caso sejam maliciosos) e uma proteo
contra sites falsos que podem ocasionar em ataques do tipo phishing entre outros.
13
14
Eficincia: devido a demanda por recursos computacionais que este tipo de operao
requer, o protocolo dispe da opo de armazenamento em cache de informaes
referentes a sesso, diminuindo desta forma o esforo computacional em sucessivas
conexes.
Vantagens: O SSL preenche todos os critrios que o fazem aceitvel para o uso nas
transmisses das mais sensveis informaes, como dados pessoais e nmeros do
carto de crdito. A aplicao pode optar entre utilizar todos ou somente uma parte
desses critrios dependendo do tipo e natureza das transaes que esto sendo
efetuadas.
15
Unidade 2
Introduo ao HTML e
Web Standards
2.1 A Linguagem HTML e a Internet
Um dos principais elementos que levaram a popularizao da Internet foi a World Wide
Web (teia de abrangncia mundial), tambm conhecida como WWW. Trata-se de uma
nova forma dos usurios navegarem pelas informaes e arquivos disponveis nos vrios
computadores ligados a Internet. O modelo WWW tratar todos os dados da Internet
como hipertexto, isto , vinculaes entre diferentes documentos, para permitir que as
informaes sejam exploradas interativamente e no apenas de uma forma linear.
A principal linguagem que popularizou a Web, e que ainda a linguagem mais utilizada
o HTML (Hypertext Markup Language), uma linguagem criada com o objetivo de
formatar informaes de um texto e definir os hiperlinks entre um texto e outro, ou seja,
os pontos de vinculao entre documentos.
Hoje existem diversas ferramentas que permitem navegar na Internet e visualizar as
pginas HTML. Estas ferramentas so popularmente conhecidas como navegadores ou
browsers. Da mesma forma, existem tambm inmeros editores visuais, dos quais o
Adobe Dreamweaver o mais utilizado, que gravam arquivos no formato HTML.
16
2.4 W3C
O que o W3C?
O World Wide Web Consortium (W3C) um consorcio de indstrias dedicado em levar a
Web ao seu potencial mximo. Fundada em 1994 por Tim Berners-Lee (invertor da
Web), o W3C tem mais de 450 organizaes associadas, incluindo Microsoft, America
Online (incorporou a Netscape Communications), Apple ,Adobe, Macromedia, Sun
Microsystems, e uma variedade de outras empresas fabricantes de hardware e software,
provedores de contedo, instituies acadmicas e empresas de telecomunicaes. O
consrcio tem o apoio (estrutura fsica e intelectual) de trs instituies de pesquisa: MIT
nos EUA, INRIA na Europa e Keio University no Japo.
Qual a sua funo?
O W3C desenvolve especificaes abertas (padres) para aumentar a interoperabilidade
de produtos relacionados com a Web. As recomendaes do W3C so desenvolvidas por
grupos de trabalhos originados das organizaes membros e experts convidados.
17
Eric Meyer Autor do livro Cascading Style Sheets: The Definitive Guide.
18
Unidade 3
HTML Recursos Bsicos
3.1 Por que Entender o HTML?
O HTML uma linguagem de marcao utilizada para criar e formatar pginas ou
documentos Web. Com o tempo passou a ser utilizado para descrever a estrutura dos
documentos. O HTML permite criar documentos com componentes como cabealhos
(h1,h2,....), pargrafos (p), quebras de linha (br), tabelas (table, tr, td, th), listas (li, ul, ol),
imagens (img) e links (a). Uma tecnologia complementar foi criada, o Cascading Style
Sheets (CSS), responsvel pela apresentao (formatao visual) dos documentos.
Novas especificaes HTML no sero mais definidas. HTML 4.1 o ltimo padro
HTML, e agora substitudo pelo XHTML 1.0. No entanto, o XHTML no
substancialmente diferente do HTML, sendo na verdade um subconjunto do HTML que
segue as regras do XML. Assim sendo, ao dominarmos o HTML, estaremos tambm
adquirindo os conhecimentos necessrios para desenvolver tambm em XHTML.
19
O QUE FAZ
<html>
<head>
<title>
<body>
<br>
20
O QUE FAZ
<hn>
<hr>
<p>
Marca um pargrafo
<center>
<b>
<i>
21
<tt>
<font>
<pre>
<basefont>
22
23
24
25
26
editor visual para escolher a cor desejada. Abaixo vamos fazer alguns exerccios para
entendermos melhor o uso de cores, utilizando as tags que j vimos anteriormente.
Observe o resultado em seu browser para poder conferir as tonalidades e note que no
foram utilizadas as cores verde e azul. Obviamente podemos criar vrios tons de
vermelho com parcelas tambm das outras cores.
27
28
Unidade 4
Incluindo Imagens em uma Pgina
4.1 Fazendo Referncia a Outros Documentos
Como foi mostrado anteriormente, uma pgina HTML apenas uma texto com algumas
tags que definem caractersticas da pgina. Entretanto, quando observamos uma pgina
HTML normalmente visualizamos elementos grficos que no podem ser definidos desta
forma, como, por exemplo, fotos.
A forma que o HTML trata esta questo muito simples: todas as imagens da pgina
assim como muitos outros elementos que veremos ao longo deste curso no esto no
mesmo arquivo da pgina HTML, mas sim em outros arquivos.
Antes de analisarmos a tag que define a utilizao de imagens, vamos primeiro entender
algumas formas de referncia externa que podemos encontrar em documentos HTML
Tambm podemos ter uma imagem ou outro arquivo referenciado que esteja em outro
diretrio, acima ou abaixo do diretrio em que est nossa pgina HTML, como nos
exemplos abaixo:
<img src=imagens/banner1jpg>
<img src=../banner1.jpg>
29
O QUE FAZ
<img>
30
31
32
Quando definimos uma imagem para o fundo de uma pgina, se a pgina mostrada for
maior que a imagem, ela ser replicada na horizontal, vertical ou em ambas as dimenses.
33
Esta caracterstica pode inclusive ser utilizada com um recurso de layout, permitindo, por
exemplo, a repetio de um padro.
34
Unidade 5
Criando Links
5.1 Hiperlinks
Hiperlink o elemento fundamental da navegao pela internet. O conceito simples:
selecionando-se determinado elemento em uma pgina Web, somos levados para uma
nova pgina.
Para criarmos um site inteiro precisamos fazer uso destes links para estabelecer a ligao
entre as pginas de nosso site, de forma que, atravs de um nico clique sobre a frase ou
imagem, navegarmos para algum lugar no site ou na WEB.
Como padro em nosso curso, observe a tag utilizada para a definio dos hiperlinks e
trabalhe junto com o instrutor nos exemplos:
TAG
O QUE FAZ
<a>
Define um link
Atributos
Href = indica o endereo do link.
Target = define onde o link ser aberto:
35
36
Unidade 6
Criando TABELAS
6.1 Tabelas e Layout de Pginas
O recurso de tabelas foi originalmente criado, no HTML, com o objetivo de organizar
informaes e exibir dados na forma de planilhas. Este ainda um dos principais usos de
planilhas em HTML, e ser bastante explorado nesta unidade.
Entretanto, com este recurso tambm foi possvel exercer um controle muito maior sobre
o layout de uma pgina HTML. Utilizando uma srie de tcnicas envolvendo imagens de
1 pixel de altura, planilhas com bordas invisveis e formas inteligentes de posicionar
imagens, possvel criar layouts bastante sofisticados.
Esta tcnica est caindo em desuso, porm, pois com o HTML 4.1 e o CSS possvel
controlar de forma bastante precisa a diagramao de um site sem ter que utilizar as
tabelas como um subterfgio. Nas prximas unidades sero apresentadas tcnicas de
diagramao sem o uso de tabelas (tableless design), enquanto que nesta unidade o foco
no uso de tabelas para a exibio de informaes em planilhas.
O QUE FAZ
<table>
<tr>
37
<th>
38
Como foi dito, a tabela construda linha a linha. Observe os comentrios no cdigo
acima.
39
40
41
42
43
44
Unidade 7
Formulrios
7.1 Introduo a Formulrios
At o presente momento vimos diversos recursos do HTML para criar uma pgina,
definindo seu layout e contedo. Neste captulo apresentaremos a forma principal de
obter dados do usurio e poder assim interagir com ele.
O elemento FORM, da linguagem HTML, o responsvel por tal interao. Ele prov
uma maneira agradvel e familiar para coletar dados do usurio atravs da criao de
formulrios com janelas de entrada de textos, botes e outros elementos de entrada de
dados.
Os dados que o usurio preenche em uma pgina HTML so enviados para o servidor,
para serem ento processados por um programa, por exemplo um CGI em linguagem
PERL ou um pgina de acesso a banco de dados em ASP ou PHP. Tambm possvel
processar localmente um campo de formulrio utilizando um script em JavaScript ou
VBScript, o que muitas vezes feito para validar um campo antes do mesmo ser enviado
ao servidor.
Nesta lio iremos nos concentrar em aprender todos os tags HTML de criao de
formulrios e a diferena entre eles.
O QUE FAZ
<form>
Define um formulrio
Atributos
method: get, que envia as informaes na prpria URL, ou
post, que envia de forma no visvel para o usurio
action: url que ser chamada, a priori um aplicativo capaz
de tratar os dados enviados pelo formulrio (PHP, ASP,
JSP).
<input>
45
<select>
<option>
46
Observe que o formulrio no tem um comando action, o que significa que, ao ser
acionado, o formulrio ir chamar a prpria pgina. Digite seu nome, pressione ENTER e
observe a URL no topo da pgina mudar para incluir o parmetro do formulrio.
Experimente substituir o mtodo de envio para POST.
Obs: neste exemplo no faz sentido utilizarmos o mtodo get, pois a funo do tipo
password perderia o sentido.
47
48
Obs: neste exemplo os dois grupos de botes tem o valor name diferente. Se fosse o
mesmo, s poderia ser selecionada uma entre todas as cinco opes.
49
50
51
Unidade 8
Introduo a Estilos CSS
8.1 O CSS
O CSS (Cascading Style Sheets ou Folhas de Estilo em Cascata) uma linguagem de
formatao proposta pelo W3C. Visa remover a formatao dos documentos (X)HTML,
separando contedo e formatao.
A especificao inicial, chamada CSS1, tornou-se uma recomendao do W3C no final
de 1996 e define praticamente todos estilos de apresentao utilizados hoje em dia. A
segunda verso da especificao, chamada CSS2, foi aprovada em 1998 e acrescentou
vrios estilos novos, principalmente na rea de posicionamento e tabelas. Uma nova
verso est em desenvolvimento e espera-se que seja aprovada em um futuro prximo.
Todos os browser atuais, o Internet Explorer 6, Netscape Navigator 7, Mozilla Firefox 1,
Opera 7 e Safari suportam o CSS. Entretanto o suporte ao CSS Nvel 2 foi implementado
em nveis diferentes, o que torna a adoo dos conceitos de posicionamento via CSS, ou
Tableless, como conhecido, ainda um pouco complicado, necessitando muitas vezes de
truques de correo, conhecido como CSS Hacks.
Algumas consideraes sobre CSS:
52
Produtividade aumentada.
Facilidade em criar sites com identidade visual unificada e coerente.
Facilidade em fazer mudanas em todo o site basta alterar um arquivo CSS
invs de mudar todas as pginas HTML.
Arquivos mais leves => download mais rpido => experincia de usurio
melhorada.
Menos cdigo na pgina => mais fcil codificar.
Permitir que visitantes
dinamicamente.
alterem
suas
preferncias
definindo
estilos
53
54
Conceito concebido pelo fsico ingls Tom Berners-Lee, o criador do World Wide Web,
cuja proposta, ainda em desenvolvimento, por um grupo de pesquisadores do W3C, por
ele liderado, estruturar todo o contedo disponvel na Internet. Essa estruturao ser
baseada num conjunto de regras, que permitir a localizao eficiente e precisa da
informao desejada.
Por mais sofisticados que sejam os mecanismos de buscas, atualmente existentes, todos,
sem exceo, oferecem para cada solicitao um grande nmero de pginas, que, em sua
maioria, no atendem s necessidades do usurio. Esse , ento, obrigado a verificar uma
a uma, at encontrar exatamente o que procura.
A Web semntica se prope objetivar essa busca, de modo que o contedo exato seja
encontrado em uma nica consulta. Esse conceito baseia-se na insero, em cada arquivo
da Web, de tags personalizadas, definidas pela linguagem XML e, com isso, indexar toda
a informao disponvel de forma precisa. A localizao exata da informao que se
busca estar a cargo de agentes. O conceito de Web semntica prev ainda o uso de RDF,
um padro de descrio, composto por trios de informao, em que cada unidade ter
funo prpria, como sujeito, verbo e objeto, em uma frase.
Para cada diferente significado de uma palavra e sua funo numa frase ser criada uma
identificao (URI). O maior desafio da Web semntica a padronizao desses URIs.
Para isso prev-se o uso de ontologias, que fornecero aos agentes o vocabulrio
necessrio para identificar de modo preciso a informao que se busca.
A tempo: URL significa Uniform Resource Locator, ou Identifier, no caso de URI.
Servem para localizar qualquer recurso na Internet.
55
Neste caso especfico dispensamos o seletor, pois estamos aplicando o estilo diretamente
em uma tag.
56
Feito isto, criamos um arquivo HTML que far referncia ao arquivo de estilos que ser
utilizado atravs da tag <LINK>:
Arquivo 2: estilos.html
<html>
<head>
<title>Utilizando css em um arquivo externo</title>
<link rel=stylesheet type=text/css href=estilos.css>
</head>
<body>
</body>
</html>
57
Note que qualquer tag <FONT> contida nesta pgina automaticamente receber aplicao
dos estilos definidos.
58
59
A tabela abaixo apresenta os principais atributos com suas descries, valores e como
usamos no cdigo:
Atributo
Descrio
Valores Permitidos
Exemplos
background
Especifica uma
imagem de
segundo plano
ou cor.
URL ou o cdigo
da cor
{background:#33
CC00}
border
Especifica a
lateral da borda
que sofre o efeito
{border-left}
border-color
Especifica a cor
da borda.
Nome ou cdigo da
cor.
{border-color:
blue}
border-style
Especifica o
estilo da borda.
dotted / dashed /
solid / double /
none / grove / ridge
/ inset / outset
{border-style:
grove}
border-width
Especifica a
largura da borda.
thin / thick /
medium
{border-width:
medium}
color
Especifica a cor
do texto.
Nome ou cdigo da
cor.
{color: blue}
60
font-size
Seleciona o tipo
de fonte.
Ajusta o tamanho
da fonte.
{font-family:
courier}
points (pt)
{font-size: 12pt}
{font-family: arial}
inches (in)
centimeters (cm)
pixels (px)
font-style
font-weight
Aplica o efeito
itlico.
normal
Ajusta a
espessura da
fonte.
extra-light
{font-style: italic}
italic
light
demi-light
{font-weight:
bold}
{font-weight:
extra-bold}
medium
demi-bold
bold
extra-bold
line-height
Especifica a
distncia entre as
linhas.
points (pt)
{line-height: 24pt}
inches (in)
centimeters (cm)
pixels (px)
percentage(%)
margin-left
Ajusta a distncia
da margem da
esquerda.
points (pt)
{margin-left: 5in}
inches (in)
centimeters (cm)
pixels (px)
margin-right
Ajusta a distncia
da borda direita
da pgina.
points (pt)
inches (in)
centimeters (cm)
pixels (px)
61
{margin-right:
1cm}
Ajusta a distncia
da borda superior
da pgina
points (pt)
inches (in)
{margin-top: 20px}
centimeters (cm)
pixels (px)
text-align
Especifica o
alinhamento do
texto.
left
{text-align: right}
center
right
text-decoration
Aplica efeitos no
texto.
none
underline
{text-decoration:
none}
italic
line-trough
text-indent
Especifica a
distncia entre o
texto e a margem
esquerda.
points (pt)
inches (in)
{text-indent:
0.5in}
centimeters (cm)
pixels (px)
8.8 Exerccios
Aplique trs estilos a uma pgina HTML:
Um estilo que se aplique toda a pgina, um estilo que se aplique apenas uma tag
contida nesta pgina e um estilo que se aplique todas as tags <FONT>
Transfira estes estilos para um arquivo externo e referencie-o nesta pgina HTML.
62
Unidade 9
CSS Na Prtica
9.1 Utilizando CSS em Situaes Reais
Na unidade anterior os recursos bsicos do CSS foram apresentados. O objetivo desta
unidade exercitar o uso do CSS na criao de layouts redefinindo os vrios elementos
vistos nas primeiras unidades deste curso.
Com isto, objetiva-se dar ao aluno a percepo da enorme pontencialidade do CSS e
prepar-lo para utilizar este recurso em seus prprios projetos, facilitando e acelerando a
construo e edio dos layouts que ele desenvolve.
A referncia completa do CSS muito grande, e na prtica praticamente nenhum Web
Designer decora todos os comandos CSS, geralmente consultando uma documentao na
web sempre que busca utilizar um parmetro com o qual no esteja familiarizado. Por
exemplo, pode ser utilizada a documentao oficial em http://www.w3.org/TR/RECCSS1 e http://www.w3.org/TR/REC-CSS2/.
63
64
Observe que a construo da tabela em si est bastante simples, facilitando sua criao
dinmica por um programa que, por exemplo, consulte um banco de dados. Observe,
adicionalmente, que o layout est definido na parte em CSS que inclusive pode estar em
um arquivo separado. Com isto, designers e programadores podem trabalhar em partes
independentes do cdigo, de forma simultnea, um definindo detalhes do layout em CSS
enquanto o outro constri o programa que monta dinamicamente os dados da tabela.
Obs: o parmetro border-collapse permite definir que as bordas das clulas internas sero
grudadas umas nas outras. um comando muito interessante de ser utilizado na
definio de layouts de tabelas.
65
66
67
68
Unidade 10
Introduo ao JavaScript
10.1 O que JavaScript?
O que JavaScript?
O JavaScript uma linguagem de script que, incorporado nas tag's Html, permite
incrementar a apresentao e interatividade das pginas Web. Funes escritas em
JavaScript podem ser embutidas dentro de seu documento HTML, a fim de permitir
maior interatividade com as pginas HTML.
Com JavaScript voc tem muitas possibilidades para "incrementar" seu documento
HTML com elementos interessantes. Por exemplo, voc ser capaz de responder
facilmente a eventos iniciados pelo usurio. Existem, atualmente, muitos exemplos sobre
JavaScript na Internet.
JavaScript uma linguagem de script interpretada de forma just-in-time, sendo
utilizado apenas para operaes mais simples. Podemos entender uma linguagem de
script como uma espcie de roteiro simples para execuo de tarefas. As linguagens
de script, como o JavaScript, so compostas apenas por um conjunto de instrues em
formato texto que so interpretadas pelo computador no momento da sua execuo.
10.2
69
Unidade 11
Noes bsicas de JavaScript
11.1 Utilizando Comentrios
A estrutura de comentrios da linguagem JavaScript extremamente semelhante a
estrutura da linguagem C++ e da linguagem Java. O Javascript permite comentrios em
linha nica ou em bloco.
Os comentrios em linha nica so representados pelos caracteres ( // ), e transformam
todo e qualquer texto colocado na mesma linha aps este smbolo em comentrio,
conforme exemplo a seguir:
sProcessor
70
11.2.1
<SCRIPT LANGUAGE=Javascript>
var nNumber, sString, bBoolean; //As variveis ainda no assumiram um tipo
especfico
nNumber = 10; //nNumber assume tipo numrico
sString = Exemplo; //sString assume tipo string / texto
bBoolean = true; //bBoolean assume tipo booleano
</script>
11.2.2
11.2.3
71
alert(typeof(dtDate.buscaDia));
dtDate = null; // Define a varivel como null / nula
</script>
11.3 Variveis
Assim como qualquer linguagem de programao, o Javascript permite a criao de
variveis dentro dos scripts. As vriaveis em JavaScript possuem dois escopos, um
escopo global, que so variveis declaradas fora de funes, e um escopo local que so
vriaveis declaradas dentro de funes.
As variveis so declaradas utilizando a instruo var onde deve ser informado o nome
das variveis que devem ser declaradas. possvel declarar mais de uma varivel em
mesmo comando var, conforme o exemplo a seguir:
<html>
<script>
var mensagem; //Varivel global
mensagem = "Hoje dia: ";
function dataAtual(){
var dtHoje = new Date(); //varivel local
var sDia, sMes, sAno; //atribuio de 3 variveis em uma linha
sDia = dtHoje.getDate(); //Porque getDay o dia da semana
sMes = dtHoje.getMonth() + 1; //Porque ele pega o ms sendo com um
ndice, ou seja, inicia com o 0
sAno = dtHoje.getFullYear();
alert(mensagem + sDia + "/"
}
</script>
<body>
<a href="javascript:dataAtual();">Data Atual</a>
</body>
</html>
72
11.4 Operadores
A linguagem Javascript possui um conjunto de operadores muito semelhante a qualquer
linguagem de programao convencional, que permitem tanto realizar operaes
aritmticas como operaes booleanas. Os operadores esto divididos em trs grupos
principais: Computacionais, Lgicos e de Atribuio.
Dentre os operadores computacionais, podemos encontrar os operadores que realizam
operaes aritmticas, bem como operadores utilizados para realizar concatenaes de
strings. A lista dos operadores computacionais pode ser visualizada abaixo:
Operador
Incremento
++
Decremento
--
Multiplicao
Diviso
Mdulo
Adio/Concatenao
Subtrao
Smbolo
Smbolo
No Lgico
Menor que
<
Maior que
>
Menor ou igual a
Maior ou igual a
<=
Igual
==
!=
E Lgico (AND)
&&
OU Lgico (OR)
||
>=
73
<script>
var nNumero1, nNumero2, nResultado;
// Atribuio de 0 ao nmero
nNumero1 = 1;
nNumero2 = 2;
// Atribui uma soma ao resultado
nResultado = nNumero1 + nNumero2;
// Incrementa o resulta em 1
nResultado++;
// Soma 10 ao valor atual do resultado
nResultado+=11;
// Dispara o alert true caso a varivel nResultado seja igual a 25 ou false
caso no seja.
alert(nResultado == 25);
</script>
74
75
Alm do comando if, o comando switch pode ser utilizado para realizar testes lgicos na
linguagem JavaScript. O comando switch um comando de teste de seleo mltipla, ou
seja, no testa a expresso lgica apenas por um valor especfico, mas sim por uma srie
de valores informados no cdigo de script. O comando script requer um bloco de
comando inserido logo aps a expresso lgica, que ir conter os comandos executados
no caso de cada uma das expresses. Ao final de cada conjunto de instrues de uma
condio swicth, necessrio informar o comando break, para que o javascript no
execute as condies posteriores ao teste, conforme o exemplo a seguir:
<script>
var nMes;
var dtData = new Date();
var sMes;
// Atribuio do Ms a varivel
nMes = dtData.getMonth();
switch (nMes)
{
case 0:
sMes = "Janeiro";
break;
case 1:
sMes = "Fevereiro";
break;
76
While
O comando while utilizado para repetir um determinado conjunto de instrues de
acordo com uma expresso lgica definida no cdigo de script.
Para utilizar o comando while basta informar entre parnteses a expresso lgica a ser
testada, e aps o comando, a instruo ou bloco de instrues a serem executados.
Podemos ver um exemplo de utilizao do comando while no cdigo abaixo:
<script>
var nNumero = 0;
while(nNumero < 10)
{
alert("Iterao de nmero: " + nNumero);
//Incrementa o Nmero
nNumero++;
}
</script>
11.8.2
For
Alm do comando while, temos o comando for, que pode ser utilizado para repetir um
determinado conjunto de instrues de acordo com um ndice nmero especificado no
prprio comando for. No comando for necessrio informar a varivel que servir como
ndice, a condio para execuo do for, e o incremento utilizado para execuo da
estrutura de repetio. Podemos ver um exemplo de utilizao do comando for a seguir.
77
O comando for ainda pode ser utilizado com a clusula in para realizar enumeraes de
propriedades em objetos ou mesmo itens contidos em arrays. Para a utilizao da clusula
in, necessrio definir uma varivel que ir receber o valor de cada membro solicitado
dentro de cada iterao da estrutura de repetio. Com a clusula in podemos, por
exemplo, buscar todas as propriedades disponveis de um determinado objeto criado no
JavaScript. No exemplo a seguir podemos visualizar todas as propriedades disponveis no
objeto window, que representa a janela do browser.
<script>
var prop;
for(prop in window)
{
var sMensagem;
sMensagem = "Propriedade da janela do Browser: ";
sMensagem += prop;
alert(sMensagem);
}
</script>
78
Unidade 12
Utilizando Funes
12.1 Utilizando Funes no Javascript
Como j podemos perceber, o Javascript possui inmeros recursos e funes disponveis
para tornar as pginas o mais interativas possveis. Alm de toda a estrutura de
programao j apresentada, o javascript ainda permite ao desenvolvedor utilizar funes
prprias do JavaScript e criar suas prprias funes.
Exemplo 1:
<script >
var nContador;
for(nContador=0;nContador<5;nContador++)
{
eval("var sTeste" + nContador + ";");
eval("sTeste" + nContador + "=" + nContador + ";");
}
for(nContador=0;nContador<5;nContador++)
{
eval("alert(sTeste" + nContador + ");");
}
</script>
79
Exemplo 2:
<html>
<script>
function compute(f)
{
f.result.value = eval(f.expr.value);
}
</script>
<body>
<form name="teste">
Digite uma expresso matemtica (exemplo: 2+2 ou 3*5):
<input type="text" name="expr" Size="15">
<input type="button" value="Calcula" onclick="javascript:compute(this.form)">
<BR>
Resultado:
<input type="text" name="result" size="15">
</form>
</body>
</html>
12.2.2
80
12.2.3
12.2.4
A funo isNaN()
A funo isNaN utilizada para verificar se uma varivel contm um valor especial NaN.
O valor representa uma converso nmerica mal sucedida (NaN = Not a Numeric).
Quando tentamos converter uma string (Ex.: ABC) para um valor nmerico utilizando as
funes parseInt e parseFloat, o resultado da funo um valor NaN.
81
Como podemos ver a funo pode conter diversos parmetros de entrada que podem ser
utilizados para clculos ou algum processamento especial dentro do corpo da funo.
Para definir os parmetros, basta informar os nomes das varivies que iro representar os
parmetros na funo. Podemos ver um exemplo de funo no cdigo abaixo:
<script>
function MostraMensagem(sMsg)
{
var dtData = new Date();
var sData;
sData = dtData.getDay() + "/" + dtData.getMonth() + "/" +
dtData.getFullYear();
alert(sData + " - " + sMsg);
}
MostraMensagem("Mensagem de Teste !");
</script>
82
Unidade 13
Utilizando Objetos
13.1 Objetos intrnsecos
Alm da utilizao de funes intrisecas e funes de usurio, o JavaScript possui uma
srie de objetos intrnsecos que permitem o uso de nmeros de recursos dentro da
linguagem. As prprias funes intrnsecas que vimos no mdulo anterior esto
colocadas dentro de um objeto intrnseco chamado Global, mas por estarem colocadas
dentro deste objeto elas tem um escopo global, permitindo sua utilizao sem a chamada
explcita ao objeto.
Os objetos so compostos por mtodos, que funcionam exatamente da mesma forma que
as funes em uma linguagem de programao, e so utilizadas para de alguma forma
executar alguma ao sobre o objeto em questo. Alm dos mtodos os objetos possuem
propriedades que do caractersticas especficas as instacias dos objetos utilizados.
Para utilizarmos um objeto no JavaScript necessrio instanci-lo inicialmente. Para
iniciarmos um objeto precisamos criar uma varivel que ir armazenar a instancia do
objeto e atribuir a esta varivel uma nova instancia do objeto em questo. Para criar uma
nova instancia de um objeto, devemos utilizar o comando new.
A seguir veremos os objetos instrnsecos do javascript mais utilizados.
13.1.1
O Objeto Date
Em nossos exemplos anteriores j vimos o objeto date sendo utilizado diversas vezes
para verificar a data atual. O objeto Date um dos objetos intrnsecos do Javascript,
utilizado para o gerenciamento de datas. Para criar uma nova instancia do objeto basta
criar uma nova varivel e atribuir uma nova instancia do objeto Date. O objeto date
sempre inicializado com a Data e Hora atuais. Um exemplo de criao de um objeto Date
pode ser visto a seguir.
<script >
var dtData, nMes, nHora, sMes, sPeriodo;
dtData = new Date();
nMes = dtData.getMonth();
nHora = dtData.getHours();
</script>
83
13.1.2
O Objeto Array
O objeto Array a representao de um conjunto de valores dentro do JavaScript. Para
criarmos um array dentro do JavaScript, utilizamos a mesma sintaxe que utilizamos at o
momento com as datas, atravs do comando new. Deve-se lembrar que a primeira posio
de um array 0, ento um Array de tamanho 6, comea na posio 0 e acaba na posio
5. A seguir vemos uma srie de exemplos de criao de arrays.
var sNomes
= new Array();
var sValores = new Array(6);
Como mostrado no exemplo anterior, os array podem ser criados com um tamanho inicial
ou no. Caso no seja informado o tamanho inicial, podemos aumentar seu tamanho a
medida que criamos os elementos dentro do array.
Para criar e acessar elementos em um array em Javascript devemos utilizar colchetes [ ]
para informar qual o incio do array que queremos gravar ou ler. Caso o incio no exista
e o script tente atribuir um valor ao array, o array ser redimensionado automaticamente.
Um exemplo de utilizao de variveis dentro do array pode ser visto abaixo:
<script >
var sNomes
= new Array();
var sValores = new Array(6);
sNomes[0] = "Andr";
sNomes[1] = "Bruno";
sNomes[2] = "Carlos";
sValores[0] = 1;
sValores[1] = 2;
sValores[2] = 3;
sValores[3] = 4;
</script>
Caso o array esteja sendo preenchido de forma dinmica, sem informar um nmero de
elementos, podemos a qualquer momento consultar a propriedade length para verificar
quantos elementos esto contidos dentro do array.
Alm da armazenagem de objetos, os array podem ser utilizados para outras finalidades
como ordenao de dados. Para isto devemos utilizar os mtodos disponveis dentro do
array, como o mtodo sort para ordenar por ordem alfabtica e o mtodo reverse para
ordernar por ordem decrescente.
Um exemplo de utilizao de um array para ordenao pode ser visto abaixo:
84
= new Array();
sNomes[0] = "Carlos";
sNomes[1] = "Bruno";
sNomes[2] = "Mauricio";
sNomes[3] = "Jos";
sNomes[4] = "Andr";
sNomes.sort();
var nCount;
alert(Ordem Crescente);
for(nCount=0;nCount<sNomes.length;nCount++)
{
alert(sNomes[nCount]);
}
sNomes.reverse();
alert(Ordem Decrescente);
for(nCount=0;nCount<sNomes.length;nCount++)
{
alert(sNomes[nCount]);
}
</script>
13.1.3
O Objeto Math
O objeto Math um objeto com um comportamento um pouco diferente dos demais. Para
utilizarmos o objeto Math, no necessrio criar um nova instncia deste em uma
varivel, basta chamarmos seus mtodos e propriedades diretamente.
Este objeto utilizado para realizar clculos matemticos mais avanados, que no
podem ser realizados utilizando os operadores mais simples do JavaScript.
Podemos ver um exemplo de utilizao do objeto Math no exemplo a seguir.
<script>
var nNumero1 = 10.5;
var nNumero2 = -10.5;
var nNumero3 = 4;
alert(Math.abs(nNumero1));
alert(Math.abs(nNumero2));
alert(Math.sqrt(nNumero3));
85
13.1.4
O Objeto String
O objeto string representa variveis string dentro do Javascript. Os objetos string so
criados ou atravs do comando string ou atravs da atribuio direta de um valor string
para uma varivel. O objeto string possui uma srie de mtodos que permitem manipular
as strings no JavaScript.
Um dos mtodos disponveis o mtodo substring que permite pegar uma frao da
string, de acordo com uma posio passada como parmetro. Alm desses mtodos, ainda
temos a propriedade length, que pode ser utilizada para verificar o tamanho atual da
string. Podemos ver a implementao desses mtodos no exemplo abaixo:
<script>
var sString1 = "string criado diretamente";
var sString2 = new String("string criado com o new");
sString1 = sString1.toUpperCase();
sString2 = sString2.toUpperCase();
alert(sString1);
alert(sString2);
alert(sString2.replace(STRING, string));
alert(sString1.substring(0,5));
alert("O tamanho da String1 : " + sString1.length);
</script>
86
for(prop in oContato)
{
var sMsg;
sMsg = "O objeto contm a propriedade ";
sMsg += prop;
sMsg += " com o valor de " + oContato[prop];
alert(sMsg);
}
</script>
13.3 Mtodos
Os mtodos de um objeto so funes que pertencem a um objeto. Repare que enquanto
que as propriedades correspondem a variveis, os mtodos correspondem a funes.
13.3.1
Mtodos estticos
Alguns objetos oferecem mtodos estticos. Esses mtodos diferem dos mtodos normais
pelo fato de no pertencerem a um objeto criado com a instruo new.
A declarao this
13.3.2
A declarao this representa o prprio objeto em que usada. Esse objeto pode ser uma
funo, uma ligao de hipertexto, uma imagem, etc. Esta declarao bastante til em
HTML Dinmico porque nos ajuda muito a construir funes que respondem a eventos
sabendo sempre qual foi o objeto que originou o evento e funcionam corretamente em
todos os browsers. Para aprender mais sobre esta matria veja um dos exerccios que
esto mais abaixo.
A declarao with
13.3.3
Esta declarao estabelece o objeto ao qual se aplica uma srie de instrues. Os dois
exemplos seguintes usam o objeto Math para ilustrar o uso desta declarao e so
totalmente equivalentes.
Verso 1:
x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10)
y = Math.tan(14 * Math.E)
87
Math.
antes
with (Math) {
x = cos(3 * PI) + sin (LN10)
y = tan(14 * E)
}
Quando o nmero de instrues pequeno no vale a pena usar a declarao with, mas se
esse nmero crescer muito o cdigo ser mais compacto e fcil de ler se usarmos esta
declarao.
88
89
atributos
Descrio
accessKey
aLink
90
background
bgColor
id
link
text
vLink
91
</body>
</html>
Caso existir mais de um form no documento este objeto poder ser acessado como um
array.
Exemplo:
<html>
<head>
<script type="text/javascript">
function formReset()
{
var x=document.forms[0];
x.reset()
}
</script>
</head>
<body>
<form name="Form1">
<p>Preencha os campos a baixo e veja como funciona o boto Reset</p>
<input type="text" size="20"><br />
<input type="text" size="20"><br />
<br />
<input type="button" onclick="formReset()" value="Reset form">
</form>
<form name="Form2">
<p>Preencha o campo a baixo, ele faz parte de um outro formulrio por isto no sera alterado
quando o boto reset for pressionado</p>
<input type="text" size="20"><br />
<br />
</form>
</body>
</html>
Neste exemplo o form esta sendo acessado como o primeiro form do documento.
92
14.8.1
Atributos do Form
atributos
descrio
Action
Encoding
Enctype
Id
Length
Method
Name
tabIndex
Target
14.8.2
Mtodos de um FORM
Mtodo
Descrio
reset()
submit()
Submete o form
14.8.3
Eventos de um form
Event
Description
onReset
93
onSubmit
Elements de um FORM
14.8.4
Um form constitudo de vrios objetos para interagir um usurio, neste caso DOM
disponibiliza um vetor de elementos. Para facilitar na validao dos objetos.
Exemplo:
Function validaIdade(){
If(document.forms[0].elements[0].value < 0)
{
alert(digite a idade vlida);
}
}
Colees
descrio
elements[]
94
Exemplo:
var telefone
var valor
=
=
document.getElementById(telefone);
telefone.value;
Mostrando que este mtodo no proprietrio do objeto FORM, caso ele encontre mais
de um objeto o retorno vai ser um array de elementos.
14.10
Objeto Frameset
O objeto Frameset representa o frameset HTML.
Contendo a mesma limitao quanto a indisponibilidade em uma grande variedades
browsers.
Exemplo de mapeamento de frameset:
<html>
<frameset id="myFrameset" cols="50%,50%">
<frame id="leftFrame" src="frame_a_noresize.htm">
<frame id="rightFrame" src="frame_a.htm">
</frameset>
</html>
frame_a.htm
<html>
<body bgcolor="#66CCFF">
<h3>Frame A</h3>
</body>
</html>
frame_a_noresize.htm
<html>
<head>
<script type="text/javascript">
function disableResize()
{
parent.document.getElementById("leftFrame").noResize=true
parent.document.getElementById("rightFrame").noResize=true
}
function enableResize()
{
95
14.10.1
Atributo
descrio
Cols
Id
Rows
14.10.2
Mtodos
descrio
blur()
focus()
Recebe o foco
14.10.3
Event
Description
96
onBlur
onFocus
97
document
Forms[]
Formulrios
HTML)
Frames[]
Frames
Elementos[]
Elementos
A partir do objeto document podemos ter acesso a qualquer elementos contido dentro da
pgina HTML, como por exemplo uma caixa de texto de um formulrio.
O prprio objeto document possui uma srie de propriedades e mtodos que podem ser
utilizadas pelo JavaScript para interagir ou modificar a aparecia do documento.
Podemos visualizar uma srie de propriedades do objeto document com o script abaixo:
<script>
alert(document.location);
alert(document.referrer);
alert(document.fgColor );
alert(document.forms.length );
alert(document.images.length);
alert(document.links.length);
alert(document.readyState );
</script>
98
Como podemos ver o HTML possui trs elementos do tipo IMG, que representam
imagens dentro do documento. Tambm podemos notar que somente a primeira imagem
possui a propriedade src definida. Atravs do Javascript, podemos perfeitamente acessar a
coleo de imagens de um documento atravs da propriedade images. A propriedade
images contm uma coleo de todas as imagens disponveis dentro de um documento.
No script abaixo vemos um exemplo onde utilizamos a propriedade src da primeira
imagem para carregar as demais imagens do document.
<script>
alert("Note que as imagens no esto carregadas !");
document.images[1].src = document.images[0].src;
document.images[2].src = document.images[0].src;
alert("Agora as imagens esto carregadas !");
</script>
99
100
<script>
var dtData = new Date();
if(dtData.getHours() > 12)
document.location.href = "tarde.htm";
else
document.location.href = "manha.htm";
</script>
<script>
var dtData = new Date();
document.write(dtData.getHours()
+ ":"
+ dtData.getMinutes() + ":"
+ dtData.getSeconds());
101
setTimeout("document.location.reload();", 2000);
</script>
15.2.1
102
qual evento do objeto indicado no atributo FOR o script ser executado. Tomemos como
exemplo o HTML com o formulrio abaixo:
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<FORM>
<INPUT TYPE=BUTTON NAME=btnOk VALUE="Clique Aqui !">
</FORM>
</BODY>
</HTML>
Esta tcnica de mapeamento de eventos pode ser utilizada para mapear eventos no s
dos elementos HTML em geral, mas tambm eventos do prprio documento, como o
evento de carregamento. O exemplo abaixo mostra um bloco de script que mapeia o
evento OnLoad do documento contido na janela do browser.
<SCRIPT FOR=window EVENT="onload">
alert("O documento foi carregado !");
</SCRIPT>
15.2.2
103
onchange, etc.), e o valor contido neste atributo ser o nome da funo utilizada para
mapear o evento. O exemplo a seguir mostra o mesmo HTML mostrado no exemplo
anterior, porm utilizando a tcnica de mapeamento por funes.
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<FORM>
<INPUT TYPE=BUTTON NAME=btnOk VALUE="Clique Aqui !" onclick=click_btnOk()>
</FORM>
</BODY>
</HTML>
Note que inclumos um novo atributo na tag do boto que representa o evento a ser
mapeado. O contedo deste atributo o nome da funo que ir executar no momento em
que o evento for acionado, exibida abaixo:
<SCRIPT>
function btnOk_click()
{
alert("O documento foi carregado !");
}
</SCRIPT>
15.2.3
104
15.3.1
105
O cdigo de script acima, busca uma referencia a caixa de texto contida dentro do
formulrio do documento e exibe a propriedade value da mesma, que representa o
contedo textual da caixa de texto.
15.3.2
106
15.4.1
Para criarmos uma funo que faa a validao deste formulrio, basta criarmos o
mapeamento para o evento onclick do boto efetuar logon e apenas submeter o formulrio
no caso de as informaes solicitadas estarem corretas. O cdigo de script abaixo realiza
esta validao.
107
<SCRIPT>
function btnOk_click()
{
if(document.frmDados.txtUsuario.value.length == 0)
{
alert("Informe o usurio !");
document.frmDados.txtUsuario.focus();
return;
}
if(document.frmDados.txtSenha.value.length < 6)
{
alert("A senha deve ter no mnimo 6 dgitos !");
document.frmDados.txtSenha.focus();
return;
}
document.frmDados.submit();
}
</SCRIPT>
15.4.2
Validando listas de seleo simples e mltipla (Combo
e ListBox)
As listas de seleo simples mltiplas possuem o mesmo comportamento dentro de um
formulrio HTML. Em ambos os casos possvel verificar se o usurio selecionou
algum item na lista ou se est com algum item da lista selecionado.
Tomemos o HTML abaixo como exemplo
108
<HTML>
<BODY>
<FORM NAME=frmDados ACTION="">
Pesquisa Vagas<BR>
<BR>
Cidade:
<SELECT SIZE=1 NAME=cmbCidade>
<OPTION VALUE="">-- Selecione a cidade --</OPTION>
<OPTION VALUE="1">Belo Horizonte</OPTION>
<OPTION VALUE="2">Porto Alegre</OPTION>
<OPTION VALUE="3">Rio de Janeiro</OPTION>
<OPTION VALUE="4">So Paulo</OPTION>
</SELECT><BR>
<BR>
Cargos:<BR>
<SELECT SIZE=5 NAME=lstCargo multiple="multiple">
<OPTION VALUE="1">Analista de Sistemas</OPTION>
<OPTION VALUE="2">DBA</OPTION>
<OPTION VALUE="3">Programador</OPTION>
<OPTION VALUE="4">Programador/Analista</OPTION>
<OPTION VALUE="5">Web-Designer</OPTION>
</SELECT><BR><BR>
<INPUT TYPE=BUTTON NAME=btnOk VALUE="Pesquisar" onclick="btnOk_click()">
</FORM>
</BODY>
</HTML>
Neste HTML temos uma caixa de seleo simples e uma caixa de seleo mltipla. Para
testarmos se o usurio selecionou ou no as informaes destes controles utilizaremos o
cdigo de script a seguir.
<SCRIPT>
function btnOk_click()
{
if(document.frmDados.cmbCidade.options[0].selected==true)
{
alert("Selecione a cidade !");
document.frmDados.cmbCidade.focus();
return;
}
if(document.frmDados.lstCargo.value == "")
{
alert("Selecione o cargo !");
document.frmDados.lstCargo.value = "";
return;
}
109
document.frmDados.submit();
}
</SCRIPT>
15.4.3
Validando caixas de escolha simples e mltipla
(RadioButton e CheckBox)
Para finalizarmos o mdulo de validao de dados em formulrios HTML, devemos
verificar a validao das caixas de escolha simples e mltipla. Estas caixas permitem ao
usurio selecionar itens de forma mltipla ou simples em um formulrio.
Tomemos o HTML que segue como exemplo:
<HTML>
<HEAD>
</HEAD>
<BODY>
Selecione o grau de escolaridade:<br>
<input type=radio name=optEscolaridade value="1">Analfabeto<br>
<input type=radio name=optEscolaridade value="2">1 Grau<br>
<input type=radio name=optEscolaridade value="3">2 Grau<br>
<input type=radio name=optEscolaridade value="4">Superior Incompleto<br>
<input type=radio name=optEscolaridade value="5">Superior Completo<br>
<input type=radio name=optEscolaridade value="6">Ps, mestrado<br>
<br>
110
Para validarmos o formulrio HTML acima utilizaremos a funo Validar, que est
mapeada para o clique do boto Enviar, apresentada no bloco de script abaixo
<script>
function Validar()
{
var nCount;
var bSelecionou = false;
for(nCount=0; nCount<document.frmDados.optEscolaridade.length; nCount++)
{
if(document.frmDados.optEscolaridade[nCount].checked)
{
bSelecionou = true;
break;
}
}
if(bSelecionou == false)
{
alert("Selecione o grau de escolaridade !");
return;
}
if(document.frmDados.optEscolaridade.value=="")
{
alert("Selecione o grau de escolaridade !");
return;
}
if(document.frmDados.chkFumante.checked == true)
{
alert("O Ministrio da sade adverte. Fumar faz mal a sade !");
}
document.frmDados.submit();
}
</script>
Note que para validarmos ambos os controles estamos utilizando a propriedade checked.
A propriedade checked utilizada para verificar se um controle de seleo est marcado
ou desmarcado, e serve tanto para radiobuttons como para checkbox.
Na primeira validao, note que temos um conjunto de options com o mesmo nome. Isto
faz com que o script interprete os controles como um array de controles, nos obrigando a
111
informar o ndice de cada um dos controle antes de acess-los. Criamos uma varivel
bSelecionou para verificarmos se o usurio selecionou pelo menos um option button.
Caso ele encontre um option button com a propriedade checked igual a true, a varivel
bSelecionou ser definida para true, validando o formulrio.
Para os outros dois campos, apenas estamos testando a propriedade checked para dar um
alerta para o usurio.
15.4.4
Criaremos uma funo que manipule a tag para que o formato digitado seja o pr-definido
no cdigo:
<script language=javascript>
function EditMask(objField, sMask, evtKeyPress) {
var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
if(document.all) { // Internet Explorer
nTecla = evtKeyPress.keyCode; }
else if(document.layers) { // Nestcape
nTecla = evtKeyPress.which;
}
sValue = objField.value;
// Limpa todos os caracteres de formatao que
// j estiverem no campo.
sValue = sValue.toString().replace( "-", "" );
sValue = sValue.toString().replace( "-", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( "/", "" );
112
113
CEP
/^[0-9]{5}-[0-9]{3}$/
CPF
/^([0-9]{3}\.){2}[0-9]{3}-[0-9]{2}$/
/^20[0-9][0-9]([012][0-9]|[3][01])([0][09]|[1][012])$/
MacAddress
/^(([0-9a-f]{2}):){5}([0-9a-f]{2})$/
IP
1]?[0-9]{1,2}|2([0-4][0-9]|5[0-5]))\.){3}([1]?[09]{1,2}|2([0-4][0-9]|5[0-5]))$/
/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([azA-Z0-9]{2,4})+$/
<[^>]*>,
function checkMail()
{
// atribui a varivel x o valor do campo email do formulrio
var x = document.forms[0].email.value;
/* cria uma varivel com o filtro para fazer a pesquisa na string (neste caso
para validar um emaill) */
var filter
9]{2,4})+$/;
= /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-
114
Descrio
alert(texto)
back()
blur()
captureEvents(eventos)
clearInterval()
clearTimeout()
close()
confirm(texto)
find()
focus()
forward()
115
home()
moveBy(pixelsX, pixelsY)
moveTo(pixelsX, pixelsY)
open()
print()
prompt(pergunta,inicio_da_resposta)
releaseEvents(eventos)
resizeBy(pixelslargo,pixelsAlto)
resizeTo(pixelslargo,pixelsAlto)
routeEvent()
scroll(pixelsX,pixelsY)
scrollBy(pixelsX,pixelsY)
scrollTo(pixelsX,pixelsY)
116
setTimeout(sentena,segundos)
stop()
117
118
Unidade 17 - Anexo 1
Principais tags
Neste anexo apresentamos todas as tabelas de tags HTML apresentadas nas unidades
anteriores, para facilitar a consulta:
TAG
O QUE FAZ
<html>
<head>
<title>
<body>
<br>
TAG
O QUE FAZ
<hn>
<hr>
<p>
Marca um pargrafo
<center>
<b>
<i>
119
<tt>
<font>
<pre>
<basefont>
TAG
O QUE FAZ
<ol>
<ul>
<li>
120
TAG
O QUE FAZ
<img>
TAG
O QUE FAZ
<a>
Define um link
Atributos
Href: indica o endereo do link.
Target: define onde o link ser aberto: _blank define que
ser aberta uma nova janela.
TAG
O QUE FAZ
<table>
<tr>
121
<th>
TAG
O QUE FAZ
<form>
Define um formulrio
Atributos
method: get, que envia as informaes na prpria URL, ou
post, que envia de forma no visvel para o usurio
action: url que ser chamada, a priori um aplicativo capaz
de tratar os dados enviados pelo formulrio (PHP, ASP,
JSP).
<input>
122
<select>
<option>
123
Unidade 18 - Anexo 2
Frames
18.1 Estrutura Bsica - Frameset
O "Frame Document" um arquivo onde se define a estrutura das janelas para seu
hiperdocumento em HTML. Quantas sero e qual sua distribuio em tela. Neste
documento as marcaes <body> e seu par </body> so substitudas por <frameset> e
</frameset>. Tal arquivo pode ser, por exemplo, o arquivo index.html de qualquer nvel
na estrutura do seu servio de informaes baseado em WWW.
Pronto, agora preciso definir cada frame/janela internamente (s) rea(s) de frameset.
Ou seja, as caractersticas de cada janela e seus "contedos" - URL incial. Cada
janela/frame antecedido da marcao <frame>, como numa lista cada item antecedido
por <li>. Usualmente, uma URL vir associada a cada frame.
A estrutura mnima do frame document ser ento:
<html>
<head>
<title></title>
</head>
<frameset ...>
<frame src="URL">
<frame src="URL">
</frameset>
</html>
124
125
<html>
<head>
<title></title>
</head>
</html>
2.Trs janelas horizontais, sendo que a primeira e a segunda tem uma altura fixa, e o
frame central dever ocupar o restante do espao:
<html>
<head>
<title></title>
</head>
126
</html>
127
</html>
128
2.Trs janelas verticais, sendo que a primeira e a segunda tem uma altura fixa, e o frame
central dever ocupar o restante do espao:
<html>
<head>
<title></title>
</head>
</html>
Ateno, para intercalar janelas verticais e horizontais, ser necessrio definir vrias
reas "FRAMESET". Para cada rea delimitida como "FRAMESET" voc poder definir
nmero de linhas OU colunas. Veremos como faz-lo mais adiante. No possvel
definir COLS e ROWS para uma mesma rea FRAMESET.
129
18.1.2 Frame
A marcao FRAME define cada janela contida em uma rea frameset. Esta marcao
no necessita de uma tag de finalizao (</frame>) e aceita 6 atributos possveis:
1. SRC="url"
O atributo SRC define a URL que ser exibida em cada frame.
2. NAME="nome_da_janela"
Este atributo utilizado para associar um nome a uma janela. Deve ser usado quando uma
janela - frame - for o destino de um link em outro documento (normalmente no mesmo
documento. Um frame apontando para outro. Tipo um ndice abrindo vrias urls em
outras janelas).
Este atributo opcional. Por padro, os frames no tem nome.
Importante, o nome_da_janela deve comear por caracter alfanumrico.
3. MARGINWIDTH="valor"
Esse atributo controla as margens esquerda e direita de cada frame, ou seja, a distncia
entre o contedo da pgina e as margens da janela. O valor associado ser um valor
absoluto em pixels. O menor valor aceito ser 1.
Este atributo opcional, caso no venha definido, o browser usar o seu padro para
definir as margens no frame/janela.
4. MARGINHEIGHT="valor"
Tambm um atributo opcional. Funciona exatamente como o anterior, s que determina
as margens superior/inferior em cada frame.
5. SCROLLING="yes/no/auto"
Novamente, um atributo opcional, que define se uma janela deve possuir barra de
rolagem ou no. Caso seja definido como YES, a janela sempre possuir uma barra de
rolagem visvel. Caso seja definido como NO, nunca haver barra de rolagem. E,
finalmente, se vier como AUTO, o browser aplicar a barra quando necessrio.
O padro AUTO, portanto, se o atributo scrolling no vier definido, o browser aplicar
a barra de rolagem, sempre que necessrio.
6. NORESIZE
130
Este atributo no possui valor associado. Quando ele no aparece, o usurio poder
alterar o tamanho da janela, "arrastando" com o cursor a borda da mesma. O padro que
todas as janelas possam ter seu tamanho alterado. NORESIZE opcional
Um frame, com todos os atributos definidos seria escrito assim, por exemplo:
<frame
src=http://www.empresa.com.br
marginheight=5 scrolling=auto noresize>
131
name=home
marginwidth=5
Noframes
Esta marcao possibilita que se crie uma opo de navegao na pgina para quem no
possui um browser que entende frames.
Esta marcao aparece no documento de estrutura "Frame document", e sempre usada
em pares (<noframes>.. contedo... </noframes>).
Quando o acesso for feito atravs de um browser que entenda frames, o que estiver entre
as marcaes "noframes" ser simplesmente ignorado.
Internamente a uma rea "noframes" dever ser usada a estrutura padro de documentos
html (<head> </head>, <title> </title> <body> </body>, etc...).
132
Um exemplo:
<html>
<head>
<title>Teste, uso de frames</title>
</head>
<FRAMESET ROWS="15%, 85%">
<NOFRAMES>
<body bgcolor="#000000" text="#ffff00" link="#ff0000" >
Bem-vindo a uma pgina de teste.<p>
Para acess-la, voc deve utilizar a verso 2.0 ou acima do <i>browser</i><a
href="http://home.netscape.com/comprod/mirror/index.html"> Netscape Navigator!</a>
</p>
<hr>
</body>
</NOFRAMES>
<FRAMESET COLS="25%, 75%">
<FRAME NAME="1" SRC="teste1.htm" NORESIZE>
<FRAME NAME="2" SRC="teste2.htm" NORESIZE>
</FRAMESET>
<FRAMESET COLS="30%, 70%">
<FRAME NAME="3" MARGINWIDTH="50" SRC="teste3.htm">
<FRAMESET ROWS="65%, 35%">
<FRAME NAME="4" SRC="teste4.htm" NAME="chat">
<FRAME NAME="5" SRC="teste5.htm">
</FRAMESET>
</FRAMESET>
</FRAMESET>
</html>
133
Veja como ela exibida, por exemplo, com o MOSAIC (no l frame) e com o
INTERNET EXPLORER (l frame).
MOSAIC - no l frame
134
135
<HEAD>
<BODY>
<title>Apostila de HTML</title>
</head>
<a
href="pagina1.html"
1</a> -
target=frame1>Link
<a
href="pagina2.html"
2</a>
target=frame1>Link
<a
href="pagina3.html"
3</a>
target=frame1>Link
136