INTRODUO A LINGUAGEM JAVASCRIPT............................................9 JAVA E JAVASCRIPT.............................................................................. 9 VBSCRIPT E JAVASCRIPT..................................................................... 10 AS VERSES DO JAVASCRIPT .............................................................. 10 COMPATIBILIDADE ENTRE BROWSERS ................................................. 11 GUIA DE REFERNCIA NA INTERNET..................................................... 11 ORIENTAO A OBJETOS .................................................................... 11 MANIPULAO DE OBJETO .................................................................. 13 PROPRIEDADES DE OBJETOS............................................................... 14 MTODOS DE OBJETOS....................................................................... 14 EVENTOS........................................................................................... 15 MANIPULADORES DE EVENTOS UTILIZADOS.......................................... 16 VARIVEIS ........................................................................................ 19 NOMES DE VARIVEIS ........................................................................ 19 LITERAIS........................................................................................... 22 INTEIROS (INTEGER) .......................................................................... 23 PONTO FLUTUANTE............................................................................. 23 BOOLEANOS ...................................................................................... 23 LITERAIS STRING............................................................................... 23 CARACTERES ESPECIAIS ..................................................................... 24 EXPRESSES ..................................................................................... 24 OPERADORES..................................................................................... 25 OPERADORES DE INCREMENTO E DECREMENTO .................................... 26 OPERADORES RELACIONAIS ................................................................ 28 OPERADORES RELACIONAIS ................................................................ 28 OPERADORES LGICOS....................................................................... 28 OPERADOR DE CONCATENAO DE STRING.......................................... 29 DECLARAES....................................................................................30 OPERADOR NEW................................................................................. 30 PALAVRA-CHAVE THIS......................................................................... 30 BREAK............................................................................................... 30 UTILIZAO DE COMENTRIOS............................................................ 31 VAR .................................................................................................. 32 DESENVOLVIMENTO DE SCRIPTS........................................................33 DESENVOLVENDO SCRIPTS COM O TAG <SCRIPT> ................................ 33 DESENVOLVENDO SCRIPTS ATRAVS DE UM ARQUIVO EXTERNO............. 34 NOTIFICAO DE ERROS....................................................................36 INSTRUES BSICAS .......................................................................38 MTODO DOCUMENT.WRITE().............................................................. 38 MTODO ALERT() ............................................................................... 39 MTODO CONFIRM()........................................................................... 39 COMANDOS CONDICIONAIS E REPETIO .........................................41 INSTRUO WHILE............................................................................. 41 INSTRUO FOR ................................................................................ 42 INSTRUO FOR...IN.......................................................................... 43 IF ... ELSE ......................................................................................... 44 RETURN............................................................................................. 47 SWITCH ............................................................................................ 48 INSTRUO WITH .............................................................................. 49 OBJETO ARGUMENTS .......................................................................... 54 UTILIZANDO EVENTOS .......................................................................56 EVENTO ONBLUR................................................................................ 56 EVENTO ONCHANGE ........................................................................... 57 EVENTO ONCLICK............................................................................... 57 EVENTO ONFOCUS.............................................................................. 57 EVENTO ONLOAD................................................................................ 58 EVENTO ONUNLOAD ........................................................................... 58 EVENTO ONMOUSEOVER ..................................................................... 58 EVENTO ONMOUSEOUT ....................................................................... 59 EVENTO ONMOUSEDOWN.................................................................... 60 EVENTO ONMOUSEUP ......................................................................... 60 EVENTO ONKEYPRESS......................................................................... 60 EVENTO ONKEYDOWN......................................................................... 60 EVENTO ONKEYUP .............................................................................. 60 EVENTO ONSELECT............................................................................. 61 EVENTO ONSUBMIT ............................................................................ 61 FUNES DA LINGUAGEM JAVASCRIPT ..............................................63 FUNO EVAL .................................................................................... 63 FUNO ISNAN .................................................................................. 64 FUNO PARSEFLOAT ......................................................................... 65 FUNO PARSEINT ............................................................................. 66 FUNES PR-PROGRAMADAS ...........................................................68 IMPRESSO DA PGINA ...................................................................... 68 ADICIONAR AO FAVORITOS................................................................. 68 JANELA EM MOVIMENTO...................................................................... 69 TEXTO NA BARRA DE STATUS EM MOVIMENTO ...................................... 70 TABELA DE CORES.............................................................................. 72 TEXTO EM MOVIMENTO EM UM CAMPO DE FORMULRIO......................... 73 OBJETOS PR-CONSTRUDOS.............................................................76 OBJETO DATE .................................................................................... 76 MTODOS DO OBJETO DATE................................................................ 77 OBJETO STRING .................................................................................78 PROPRIEDADES.................................................................................. 78 PROPRIEDADES DO OBJETO STRING..................................................... 78 MTODOS DO OBJETO STRING............................................................. 78 MTODO ANCHOR............................................................................... 79 MTODO BIG ..................................................................................... 79 MTODO SMALL ................................................................................. 80 MTODO BOLD................................................................................... 80 MTODO ITALICS ............................................................................... 81 MTODO FIXED.................................................................................. 81 MTODO STRIKE ................................................................................ 82 MTODO FONTCOLOR ......................................................................... 82 MTODO FONTSIZE ............................................................................ 83 MTODO SUB..................................................................................... 83 MTODO SUP ..................................................................................... 83 MTODO charAT................................................................................. 84 MTODO INDEXOF.............................................................................. 84 MTODO LASTINDEXOF....................................................................... 85 MTODO LINK.................................................................................... 86 MTODO REPLACE .............................................................................. 86 MTODO SUBSTRING.......................................................................... 87 MTODO TOLOWERCASE ..................................................................... 88 MTODO TOUPPERCASE ...................................................................... 88 OBJETO IMAGE ...................................................................................89 MTODOS DE INTERFACE COM O USURIO.........................................92 MTODO ALERT.................................................................................. 92 MTODO CONFIRM ............................................................................. 93 MTODO PROMPT ............................................................................... 94 OBJETO WINDOW...............................................................................96 PROPRIEDADES DO OBJETO WINDOW/FRAME........................................ 96 WINDOW.STATUS E DEFAULTSTATUS ................................................... 97 MTODO OPEN................................................................................... 97 MTODO CLOSE ................................................................................. 98 MTODO SETTIMEOUT ........................................................................ 98 MTODO CLEARTIMEOUT................................................................... 100 TRABALHANDO COM JANELAS .......................................................... 101 ABRINDO PGINAS EM FULLSCREEN (Tela Cheia)................................. 110 O OBJETO MATH ............................................................................... 111 PROPRIEDADES DE CLCULO DO OBJETO MATH................................... 111 MTODOS DO OBJETO MATH ............................................................. 112 ABS ................................................................................................ 112 ACOS.............................................................................................. 112 ASIN............................................................................................... 113 CEIL................................................................................................ 113 COS................................................................................................ 114 EXP................................................................................................. 114 FLOOR............................................................................................. 114 LOG................................................................................................ 115 MAX................................................................................................ 115 POW (base,expoente) ....................................................................... 116 RANDOM ......................................................................................... 116 ROUND............................................................................................ 117 SIN................................................................................................. 118 SQRT .............................................................................................. 118 TAN ................................................................................................ 118 OBJETO DATE .................................................................................. 119 MTODOS GET DO OBJETO DATE ....................................................... 119 MTODO PARSE E UTC ...................................................................... 121 MTODOS SET DO OBJETO DATE........................................................ 122 MTODO TOGMTSCRING ................................................................... 123 MTODO TOLOCALESTRING............................................................... 123 EXERCCIOS .................................................................................... 126 OBJETO DOCUMENT.......................................................................... 128 PROPRIEDADES DO OBJETO DOCUMENT ............................................. 128 MTODOS DO OBJETO DOCUMENT ..................................................... 132 MTODO CLEAR................................................................................ 132 MTODO CLOSE ............................................................................... 133 MTODO WRITE E WRITELN............................................................... 134 EXERCCIOS .................................................................................... 136 OBJETO LINK.................................................................................... 148 PROPRIEDADES DO OBJETO LINKS..................................................... 148 UTILIZANDO ARRAYS....................................................................... 149 ARRAY ANCHORS[] ........................................................................... 153 ARRAY ELEMENTS[] .......................................................................... 154 EXERCCIOS: ................................................................................... 157 MANIPULANDO FRAMES ................................................................... 161 HIERARQUIA FRAMESET WINDOW...................................................... 163 OBJETO FORM................................................................................... 170 PROPRIEDADES DO OBJETO FORMS.................................................... 170 MTODOS DO OBJETO FORM ............................................................. 172 ELEMENTOS DE UM FORMULRIO....................................................... 172 OBJETO TEXT................................................................................... 173 MANIPULADORES DE EVENTO PARA FORMULRIOS .............................. 173 OBJETO PASSWORD.......................................................................... 176 OBJETO TEXTAREA ........................................................................... 176 OBJETO BUTTON .............................................................................. 177 OBJETO SUBMIT............................................................................... 178 OBJETO RESET................................................................................. 179 OBJETO CHECKBOX (Caixa de Verificao)........................................... 179 MANIPULADORES DE EVENTO ............................................................ 181 OBJETO RADIO................................................................................. 182 EVITANDO O USO DA TECLA ENTER.................................................... 187 OBJETO LOCATION ........................................................................... 189 PROPRIEDADES DO OBJETO LOCATION............................................... 190 EXERCCIOS .................................................................................... 192 UTILIZANDO O OBJETO HISTORY ....................................................... 203 PROPRIEDADE.................................................................................. 203 MTODOS BACK E FORWARD............................................................. 203 UTILIZANDO O OBJETO NAVIGATOR................................................... 205 UTILIZANDO O OBJETO NAVIGATOR................................................... 205 PROPRIEDADES DO OBJETO NAVIGATOR............................................. 205 ACESSANDO CDIGO-FONTE A PARTIR DE UM LINK............................. 207 UTILIZANDO COOKIES ..................................................................... 209 Criando Cookies ............................................................................... 210 DEPURAO DE CDIGO .................................................................. 219 ISOLAMENTO DE PROBLEMAS ............................................................ 219 ERROS EM TEMPO DE CARREGAMENTO (Load-Time)............................. 220 ERROS EM TEMPO DE EXECUO (Run-Time) ...................................... 221 ERROS DE LGICA (Logic Errors) ....................................................... 221 ERROS COMUNS EXISTENTES ............................................................ 222 ANALISANDO A ORIGEM DOS ERROS.................................................. 223 OUTROS ERROS COMUNS.................................................................. 224 RESUMO GERAL DE OBJETOS JAVASCRIPT ....................................... 225 RESUMO GERAL DE MTODOS JAVASCRIPT ...................................... 228 MTODOS DO OBJETO DOCUMENT ..................................................... 228 MTODOS DO OBJETO FORM ............................................................. 228 MTODOS DO OBJETO DATE.............................................................. 229 MTODOS DO OBJETO HISTORY......................................................... 231 MTODOS DO OBJETO MATH ............................................................. 231 MTODOS DO OBJETO STRING........................................................... 232 MTODOS DE INTERFACE COM O USURIO ......................................... 234 MTODOS DO OBJETO WINDOW ........................................................ 234
INTRODUO A LINGUAGEM JAVASCRIPT INTRODUO A LINGUAGEM JAVASCRIPT INTRODUO A LINGUAGEM JAVASCRIPT INTRODUO A LINGUAGEM JAVASCRIPT
Desenvolvida pela NETSCAPE, a linguagem JavaScript foi criada para trabalhar com aplicaes interativas nas pginas HTML. Esta linguagem teve sua primeira verso desenvolvida para o browser Netscape Navigator 2.0 e em seguida, atribudo tambm ao Internet Explorer 3.0. A princpio, chamado de LiveScript, a Netscape aps o sucesso inicial desta linguagem, recebe uma colaborao considervel da Sun Microsystems, empresa que h longo tempo vem se dedicando ao desenvolvimento de aplicaes para a Internet, como talvez a linguagem mais poderosa da rede, o Java, uma linguagem que requer um profundo conhecimento de programao e de seu kit de desenvolvimento, bem diferente do JavaScript que no necessita de tanto. Aps esta colaborao, podemos dizer que o JavaScript uma linguagem compatvel com a linguagem Java, por esta razo, a semelhana dos nomes JavaScript.
Conhecida tambm como uma extenso da linguagem HTML (Linguagem de Marcao de Hipertexto), os comandos JavaScript so embutidos nas pginas HTML e interpretados pelo Browser, ou seja, o JavaScript no possui nenhum procedimento de compilao.
JAVA E JAVASCRIPT
Mesmo sendo uma extenso da linguagem HTML, o JavaScript uma linguagem baseada na linguagem Java. Com isto, o JavaScript suporta a maior parte das sintaxes e comandos da linguagem Java. A linguagem Java usada na criao de objetos e os chamados Applets (aplicativos que so executados em uma pgina da Internet). J a linguagem JavaScript, usada normalmente pelos programadores que fazem uso da linguagem HTML para controlar dinamicamente o comportamento de objetos nas pginas.
nica limitao da linguagem JavaScript que ela suporta poucos tipos de dados, e implementa apenas alguns conceitos de orientao a objetos, ao contrrio da linguagem Java.
VBSCRIPT E JAVASCRIPT Para no ficar com uma tecnologia terceirizada, a MICROSOFT desenvolveu uma linguagem de scripts similar ao JavaScript denominada VBScript. Uma extenso da conhecida linguagem Visual Basic. A NETSCAPE por sua vez, no implementou esta linguagem em seu Browser, impedindo-o qualquer script que seja desenvolvido na linguagem VBScript de ser executado em seu Browser.
AS VERSES DO JAVASCRIPT Atualmente a verso utilizada do JavaScript a 1.5 que suportada pelo Netscape 6.0 e Internet Explorer 5.5, que contm todos os comandos da linguagem JavaScript.
Observe pela tabela a seguir, a relao das verses existentes do JavaScript e a sua aceitao pelos navegadores mais utilizados:
Verso do JAVASCRIPT: SUPORTADA PELO: 1.0 Netscape 2.0 / Explorer 3.0 1.1 Netscape 3.0 / Explorer 4.0 1.2 Netscape 4.0 e 4.5 / Explorer 4.0 1.3 Netscape 4.6 e 4.7 / Explorer 5.0 1.4 Internet Explorer 5 1.5 Netscape 6.0 / Explorer 5.5
A linguagem JavaScript assim como a linguagem HTML submetida uma norma internacional, o ECMA que originou a especificao ECMA-262, que determina o padro para a linguagem JavaScript, tambm conhecida como ECMAScript.
COMPATIBILIDADE ENTRE BROWSERS importante que o usurio evite usar comandos JavaScript que foram inseridos nas ltimas verses, a no ser que o usurio saiba anteriormente qual o browser so executados. claro que existem maneiras que garantem que um determinado comando do JavaScript s seja executado em determinado browser, facilitando ainda mais que suas pginas sejam compatveis com diversas verses de browsers.
Os comandos mais utilizados dentro da linguagem JavaScript so os que fazem parte da sua primeira verso, j aqueles que fazem o tratamento de objetos iro variar de acordo com sua verso.
GUIA DE REFERNCIA NA INTERNET A NETSCAPE, possui um enorme guia para o JavaScript na Internet. Para ter acesso a este guia basta acessar o seguinte endereo:
http://developer.netscape.com/ (em ingls)
ORIENTAO A OBJETOS Diferente da Linguagem HTML, a linguagem JavaScript corresponde a programao orientada a objetos, isto significa que todos os elementos de uma pgina da Web so tratados como objetos. Estes objetos so agrupados de acordo com seu tipo ou finalidade. Dentro da linguagem JavaScript, so criados automaticamente objetos que permitem que o usurio possa criar novos objetos de acordo com sua convenincia. Ao ser carregada uma pgina da Web, criado um determinado nmero de objetos JavaScript, com propriedades e valores prprios que so ajustados pelo contedo da prpria pgina. Todos eles seguem uma hierarquia que reflete toda a estrutura de uma pgina HMTL. A linguagem JavaScript pode ser utilizada para a criao de scripts tanto do lado cliente como do lado servidor. Seguindo a hierarquia de objetos da linguagem JavaScript, so criados os seguintes objetos ao ser carregada uma pgina: window: O objecto mais acima na hierarquia, contm propriedades que se aplicam a toda a janela. H tambm um objecto desta classe para todas as "sub-janelas" de um documento com frames location: Contm as propriedades da URL actual. history: Contm as propriedades das URLs visitadas anteriormente. document: Contm as propriedades do documento contido na janela, tais como o seu contedo, ttulo, cores, etc
A linguagem JavaScript manipula vrios tipos de objetos atravs do uso de suas propriedades e mtodos. Estes objetos so representados por uma hierarquia, fazendo com que alguns objetos se tornem propriedades de outros, observe pelo exemplo da figura a seguir esta hierarquia formada: Hierarquia dos Objetos do JavaScript
Conforme visto no organograma apresentado, observe que existem vrios objetos e muitos deles pertencem outros, sendo chamados ento de propriedades. Veja pelo exemplo do objeto FORM que possui diversas propriedades, sendo este objeto tambm uma propriedade do objeto DOCUMENT. BROWSER (navegador) Math Date Window/ Frame Navigator
String Document Form Link Anchor Select Button Submit Text TextArea Radio Checkbox PROPRIEDADES DE OBJETOS
Cada objeto existente na manipulao do JavaScript possuem propriedades (caractersticas). Exemplo, sabemos que um documento HTML possuem ttulo e corpo, estas caractersticas do documento podemos chamar de propriedades que existem neste documento.
Estas propriedades existem de dois tipos, algumas so os objetos propriamente ditos enquanto outras no. Um exemplo disto, o objeto form (formulrio) que uma propriedade do objeto document (documento), conforme mostrado no organograma apresentado anteriormente. J a propriedade de ttulo da pgina (title), pertencente ao objeto document no havendo nenhuma propriedade sobre ela. Concluindo, podemos dizer que a propriedade form do objeto document um objeto-filho e o objeto document o objeto-pai. Em geral, as propriedades podem conter valores (string, nmeros, entre outros tipos). A utilizao de propriedades se d acompanhada de seu objeto sendo separados por um ponto apenas. Veja abaixo a sintaxe de utilizao de propriedades:
nomeObjeto.propriedade
MTODOS DE OBJETOS
Alm das propriedades, os objetos podem conter mtodos que so funes pr-definidas pela linguagem JavaScript que iro executar determinada operao. Por exemplo dentro de um documento o usurio poder utilizar o mtodo de escrever neste documento para exibir um texto qualquer. Os mtodos estaro sempre associados algum objeto presente no documento e cada mtodo faz parte de um objeto especfico. No tente usar mtodos em objetos que no o utilizam, isto faz com que a linguagem JavaScript cause erro na execuo do script. Na maioria das vezes os mtodos so usados para alterar o valor de uma propriedade ou executar uma tarefa especfica. Veja a sintaxe de utilizao dos mtodos:
nomeObjeto.mtodo(argumento)
Na sintaxe apresentada, nomeObjeto faz referncia ao objeto a ser utilizado e o qual sofrer uma ao do mtodo, j mtodo o nome de identificao do mtodo usado e entre parnteses (argumento) a expresso ou valor opcional que ser usada para alterar sobre o objeto.
EVENTOS
Em linguagens orientadas a objetos comum a manipulao de eventos que qualquer reao ou ao que executar determinado procedimento, normalmente ocorre por ato executado pelo usurio, como clicar em um boto, selecionar algum objeto e at mesmo pressionar alguma tecla. Resumindo EVENTOS so quaisquer aes iniciadas por parte do usurio.
Sua utilizao se d como atributos da linguagem HTML, ou seja dentro dos prprios Tags HTML. Sua sintaxe tem a seguinte formao:
<TAG nomeEvento="Instrues JavaScript">
Onde apresentado TAG uma instruo da linguagem HTML.
Onde evento o nome do evento gerado da linguagem JavaScript.
Onde Instrues JavaScript sero as instrues JavaScript serem executadas. Elas estaro sempre entre aspas.
Caso haja mais de um comando JavaScript a ser executado para o mesmo evento estes devero estar separados por ponto e vrgula (;), conforme mostrado no exemplo a seguir:
EVENTO MANIPULADOR DESCRIO blur onBlur Ocorre quando o usurio retira o foco de um objeto de formulrio. change onChange Ocorre quando o usurio muda o valor de um objeto de formulrio. click onClick Ocorre quando o usurio clica sobre o objeto. focus onFocus Ocorre quando o usurio focaliza o objeto. load onLoad Ocorre quando o usurio carrega a pgina. unload onUnload Ocorre quando o usurio abandona a pgina. mouseOver onMouseOver Ocorre quando o ponteiro do mouse passa sobre um link ou ncora. Vlidos apenas para hiperlinks. select onSelect Ocorre quando o usurio seleciona um elemento de um formulrio. EVENTO MANIPULADOR DESCRIO submit onSubmit Ocorre quando o usurio envia um formulrio. mouseDown onMouseDown Ocorre quando o boto do mouse pressionado. mouseMove onMouseMove Ocorre quando o ponteiro do mouse se movimenta sobre o objeto. mouseOut onMouseOut Ocorre quando o ponteiro do mouse afasta de um objeto. Vlidos apenas para hiperlinks. mouseUp onMouseUp Ocorre quando o boto do mouse solto. keyDown onKeyDown Ocorre quando uma tecla segurada. keyPress onKeyPress Ocorre quando uma tecla pressionada. keyUp onKeyUp Ocorre quando uma tecla solta.
Vejamos a utilizao dos eventos dentro de alguns TAGs HTML, sem a necessidade de criarmos rotinas separadas para os mesmos. Vejamos o exemplo a seguir:
<HTML> <HEAD> <TITLE>Manipuladores de Eventos</TITLE> </HEAD> <BODY onLoad="defaultStatus=('Seja Bem Vindo!!!')">
No exemplo apresentado anteriormente, foi usado o evento onLoad que ocorre quando a pgina carregada. Neste evendo foi usada a instruo defaultStatus que exibe a mensagem SEJA BEM VINDO!!! na barra de status do navegador. Outro exemplo que pode ser aplicado atravs de um evento, utilizar o evento onUnLoad que executar alguma ao quando o usurio sair de sua pgina, baseado no exemplo anterior, inclua no corpo de sua pgina <BODY> a seguinte linha abaixo:
<BODY onLoad="defaultStatus=('Seja Bem Vindo!!!')" onUnLoad="alert('Obrigado pela Visita')">
Neste exemplo, o evento onUnLoad, faz com que se o usurio abandonar esta pgina seja entrando em outra, acessando hiperlinks ou at mesmo fechando o browser, execute a instruo alert() que tem a funo de exibir uma caixa de dilogo do Windows com a mensagem definida, permitindo ao usurio, pressionar o boto de OK para encerra-la.
______________________________________________________ ELEMENTOS DA LINGUAGEM ELEMENTOS DA LINGUAGEM ELEMENTOS DA LINGUAGEM ELEMENTOS DA LINGUAGEM
O JavaScript pode ser diferente em alguns aspectos de outras linguagens, mas nem por isso no deixa de ser uma linguagem de programao, com isto veja os elementos existentes dentro da linguagem.
VARIVEIS
Assim como as propriedades que armazenam dados sobre os objetos, possvel com JavaScript a utilizao das variveis que tm a finalidade de armazenar temporariamente informaes como textos, valores, datas, entre outros.
O contedo de uma varivel pode ser simplesmente atribudo ou vir de um resultado de uma ao dada de uma expresso ou funo. Veja alguns exemplos.
nome=ADRIANO LIMA idade=25 Soma=2002-25 tempo=Date()
NOMES DE VARIVEIS
O nome de uma varivel poder iniciar-se com uma letra ou atravs do caractere underscore seguido de letras ou nmeros. Outra semelhana do JavaScript com outras linguagens a diferenciao de de letras minsculas e maisculas. Veja alguns nomes vlidos para variveis:
nome _senac escola
Na linguagem JavaScript existem dois tipos de variveis que so:
GLOBAIS usadas em qualquer parte de uma aplicao.
LOCAIS usadas somente na rotina que foi desenvolvida.
Para criar variveis locais, necessrio que o usurio utilize a palavra-chave var. Veja a declarao de uma varivel local:
var nome=ADRIANO LIMA var soma=2002-25
As variveis definidas fora de uma funo sempre esto disponveis para todas as funes dentro do script que esto na mesma pgina. Estas variveis so referenciadas como variveis globais. As variveis que so definidas dentro de funo, tambm so globais, desde que no seja utilizado a instruo var em sua declarao.
Caso o usurio declare uma varivel dentro de uma funo atravs da instruo var, esta varivel passa a ser apenas local, ou seja, so utilizadas apenas para aquela funo onde foi declarada.
bom saber que, as variveis globais ficam na memria mesmo aps a execuo do script, estas variveis somente so liberadas da memria quando o documento descarregado.
As variveis podem ser declaradas tambm separadas por vrgula, da seguinte maneira:
var nome, endereco, telefone;
ou
var nome; var endereco; var telefone;
Outro exemplo prtico de atribuio, atribuir um mesmo valor a mais de uma varivel, da seguinte maneira:
var campo1 = campo2 = campo3 = 5
No exemplo anterior, foi atribudo o nmero 5 nas variveis campo1, campo2 e campo3.
Veja pelo exemplo do cdigo abaixo como manipular variveis atravs da linguagem JavaScript:
Neste exemplo foi definida a varivel valor que armazena o valor 30 em seu contedo, em seguida, atravs do objeto document foi usado o mtodo write que escrever no corpo da pgina o texto Resultado do clculo e em seguida o resultado da expresso (10*2)+valor que resultar em 50.
Caso tenha que executar outro clculo abaixo do primeiro, utilize o tag HTML <BR> aps o clculo, separando-o com vrgula e entre aspas. Veja o exemplo abaixo:
document.write("Resultado do clculo ",(10*2)+valor,<BR>) document.write("A soma de 5+2 : ",5+2)
O resultado iria apresentar os valores dos clculos um abaixo do outro, veja agora o mesmo exemplo colocando o resultado em negrito atravs do tag HTML <B>.
document.write("A soma de 5+2 : ","<b>",5+2,"</b>")
lembre-se que estas instrues devero estar entre as tags HTML <SCRIPT> e </SCRIPT>. No caso de querer utilizar alguma instruo HTML, atribua-as entre aspas como propriedade do mtodo conforme exemplo mostrado anteriormente.
LITERAIS
So representaes de nmeros ou strings, estas informaes so fixas, bem diferente das variveis, no podem ser alteradas. As variveis so criadas na execuo do programa, j os literais fazem parte do cdigo-fonte. Veja abaixo alguns exemplos de literais:
52 Nmero inteiro. 2.1518 Nmero de ponto flutuante. Adriano Gomes Lima Texto.
Existem vrios tipos de literais, eis os existentes:
INTEIROS (INTEGER)
Representam nmeros positivos, negativos ou fracionrios. Exemplo:
A=500 B=0.52 C=-32
PONTO FLUTUANTE
Este literal tambm chamado de notao cientfica representado da seguinte maneira:
2.34e4 O nmero 2.34 multiplicado por dez quarta potncia, ou 2.34*10000.
BOOLEANOS
Este tipo de literal representa valores lgicos que podem ser:
TRUE ou 1 FALSE ou 0
LITERAIS STRING
Este literal representa qualquer cadeia de caracteres envolvida por aspas ou apstrofo. Veja abaixo alguns exemplos: Adriano Lima CFP-INFORMTICA
500 Mesmo sendo nmero, as aspas fazem com que o literal seja uma string.
CARACTERES ESPECIAIS
Estes caracteres so especificados dentro de uma string. Veja na tabela abaixo estes caracteres e sua descrio:
Caractere Descrio \n Insere uma quebra de linha. \t Insere uma tabulao. \r Insere um retorno. \f Insere um caractere de barra. \t Tabulao. \ Apstrofo. \ Aspas. \\ Barra Invertida. \XXX Caractere representado pela codificao Latin-1. Exemplo \251 representa o caractere de copyright . OBS: As letras dos operadores devem apresentar-se em letras minsculas.
EXPRESSES
Uma expresso normalmente uma combinao de variveis, literais, mtodos, funes e operadores que retornam um valor qualquer. Usada para atribuir valores em variveis ou at mesmo para test-la e atribuir uma ao especfica com base do seu resultado. Veja o exemplo da criao de uma varivel numrica:
numero=5
Neste exemplo fora atribudo o valor nmero 5 varivel chamada numero. Esta atribuio de valor pode ser considerada uma expresso. Veja outro exemplo de expresso:
numero2=5*2
Neste exemplo foi atribudo o resultado da expresso 5*2 varivel chamada numero2 que neste caso 10. Vejamos outro exemplo em outra situao:
If numero+numero2 > 10
J neste exemplo foi usado a instruo condicional if que testa o resultado da expresso numero+numero2 e em seguida o compara com o nmero 10. Se o resultado da expresso for superior 10, a mesma retornar o valor booleano TRUE, em caso contrrio o valor passa a ser FALSE.
OPERADORES
Os operadores so utilizados em expresses para comparar seus contedos. O operador mais utilizado em uma linguagem de programao o de atribuio conhecido como sinal de igualdade (=). Veja abaixo alguns exemplos de sua utilizao:
X=50 X=30*5/2 X=Y
Alm deste caractere de atribuio, possvel a utilizao de outros operadores como mostrado seguir:
x += y x -= y x *= y x /= y x %=y
Analisando os operadores apresentados, podemos defini-los de outra maneira, conforme mostrado abaixo:
x = x + y x = x y x = x * y x = x / y x = x % y
Veja a relao dos operadores que so utilizados na linguagem JavaScript:
ARITMTICOS Operador Descrio + Adio - Subtrao * Multiplicao / Diviso % Mdulo OBS: O operador Mdulo retorna o resto da diviso do operandos um e dois.
OPERADORES DE INCREMENTO E DECREMENTO
Alm dos operadores apresentados anteriormente, existe outro tipo de operador que tm a tarefa de aumentar e/ou diminuir o valor do operando. O operador incremental representado pelo duplo sinal de adio ++, j o operador decremental representado pelo duplo sinal de subtrao --". Veja a seguir alguns exemplos:
varivel++ ou ++varivel varivel-- ou --variavel
Sempre que o operador for colocado antes do operando, incrementado ou decrementado o operando e o valor atualizado. Em caso contrrio, ser retornado o valor do operando para depois ocorrer o incremento ou decremento. Observe um exemplo:
x = 10 A = x++
Neste exemplo, foi atribudo varivel x o valor numrico 10, e em seguida atribudo varivel A o valor de x incrementado, neste caso a varivel A recebe o valor numrico 11. analisando o caso contrrio:
x = 10 A = ++x
J neste caso x incrementado e o novo valor atribudo em A. O mesmo ocorre para o operador de decremento. ANOTAES:
Estes operadores comparam o contedo dos operandos e retornam um valor booleano TRUE ou FALSE, baseado no resultado da comparao. Veja a relao destes operadores.
Operador Descrio > Maior que < Menor que >= Maior ou igual <= Menor ou igual = Atribuio == Igualdade === Igual e mesmo tipo != Diferente Somente ser retornado TRUE se a comparao satisfizer a condio.
OPERADORES LGICOS
Para estes operadores, so exigidos valores booleanos, como operandos, e ser retornado um valor lgico.
Operador Descrio && ou AND E || ou OR OU ! ou NOT NO O operador && retorna TRUE somente se todas as expresses forem verdadeiras. O operador || retorna TRUE se uma das expresses forem verdadeiras. Se as duas forem falsas, ser retornado FALSE. O operador ! nega uma expresso. Se for verdadeira, ser retornado FALSE. Se for falsa, ser retornado o valor TRUE.
OPERADOR DE CONCATENAO DE STRING
Para concatenar duas ou mais strings, basta utilizar o sinal de adio, veja um exemplo:
A = ADRIANO B = LIMA
C=A+B
D=Senac+Minas
DECLARAES DECLARAES DECLARAES DECLARAES
Vejamos agora uma relao das declaraes existentes na linguagem JavaScript que so utilizadas na criao da estrutura lgica de um programa. Normalmente estas declaraes so atribudas s tomadas de decises, laos repetitivos e funes.
OPERADOR NEW
Este operador ir permitir que o usurio crie uma nova instncia de um objeto definido. Veja sua sintaxe:
NomeObjeto=new Tipo(parmetros)
PALAVRA-CHAVE THIS
Esta palavra-chave utilizado para fazer referncia ao objeto corrente. Veja sua sintaxe:
this.propriedade
BREAK
Esta instruo desvia o JavaScript de uma estrutura controlada e continua sua execuo na primeira linha aps o bloco da instruo onde foi encontrado. Esta instruo pode ser utilizada em estruturas baseadas nas seguintes intrues:
for for...in while UTILIZAO DE COMENTRIOS
Assim como qualquer outra linguagem de programao, a linguagem JavaScript faz o uso de comentrios que iro permitir ao programador inserir anotaes referentes ao seu desenvolvimento ou explicar determinada operao de seu script. Estes comentrios na execuo do script, so ignorados pelo interpretador (browser). Veja a sintaxe do uso de comentrios na linguagem JavaScript:
// Comentrio de uma linha de texto.
/* Comentrio de vrias linhas de texto, continuao do comentrio de vrias linhas */
Conforme visto no exemplo anterior, quando o comentrio for um pequeno texto que ir ocupar uma linha o usurio far o uso da instruo // caso o mesmo ir compor mais linhas de texto no incio do comentrio utiliza-se a instruo /*, e aps a ltima linha de texto encerra-se com a instruo */.
Alm destes comentrios recomendvel que utilize antes de iniciar um script o Tag de comentrio da Linguagem HTML, que ir permitir que navegadores j ultrapassados no sentido de no reconhecer as instrues JavaScript, possam ignorar estas instrues evitando erros futuros. A sintaxe de utilizao do Tag de comentrio em um script formada da seguinte forma:
<!--Inicio do JavaScript Instrues //Trmino do JavaScript -->
Observe que no final do script, foi definido um comentrio de uma linha de texto no JavaScript, encerrando-se com o Tag de Fechamento da Linguagem HTML. O comentrio do JavaScript somente foi necessrio em razo de haver um texto de comentrio, caso contrrio, bastaria o Tag de Comentrio do HTML.
VAR
A palavra-chave var declara o nome de uma varivel e caso queira o usurio poder atribuir um valor mesma. O contedo da varivel poder ser visualizado por uma funo ou por outras variveis, declaradas fora da funo na qual foi criada. Veja alguns exemplos:
______________________________________________________ DESENVOLVIMENTO DE SCRIPTS DESENVOLVIMENTO DE SCRIPTS DESENVOLVIMENTO DE SCRIPTS DESENVOLVIMENTO DE SCRIPTS
As instrues da linguagem JavaScript podem ser escritas em qualquer editor ASCII, como por exemplo, o Bloco de Notas do Windows e at mesmo o Edit do MS-DOS, sendo que seu arquivo dever ser salvo com a extenso HTML ou .JS. Para visualizar a execuo deste script, basta acess-lo atravs do browser.
Quando se desenvolve scripts em uma pgina HTML, necessrio que o usurio os delimite atravs do Tag <SCRIPT> ou utilize-os como manipuladores de eventos atravs de alguns Tags HTML. Outra maneira criar um arquivo externo para ser chamado partir de uma pgina HTML. Este arquivo separado dever possuir a extenso .JS.
DESENVOLVENDO SCRIPTS COM O TAG <SCRIPT>
Com o Tag <SCRIPT> possvel ao usurio incorporar seus scripts dentro de uma pgina HTML. Veja a sintaxe de utilizao deste Tag:
<SCRIPT> instrues do JavaScript... </SCRIPT>
Em alguns casos possvel observar o tag SCRIPT com o seguinte atributo:
<SCRIPT LANGUAGE=JAVASCRIPT> instrues do JavaScript... </SCRIPT>
O atributo LANGUAGE de uso opcional, este atributo ir especificar a verso da linguagem JavaScript utilizado. A sua omisso assume qualquer instruo do JavaScript independente da sua verso.
Se for especificada verso conforme exemplo abaixo, apenas os browsers que sejam compatveis com a verso especfica podero executar este script:
<SCRIPT LANGUAGE=JAVASCRIPT1.3> instrues do JavaScript... </SCRIPT>
DESENVOLVENDO SCRIPTS ATRAVS DE UM ARQUIVO EXTERNO As instrues da linguagem JavaScript podem ser executadas de um arquivo externo. Com isto, o usurio no precisar repetir instrues vrias vezes, isto, facilita a manuteno do cdigo desenvolvido e a reutilizao do mesmo.
Para isto, o usurio dever criar o cdigo em qualquer editor ASCII da mesma forma que se cria uma pgina HTML, e ao salv-lo, o usurio dever atribuir ao seu nome a extenso .JS.
Neste arquivo o usurio no precisar utilizar o Tag HTML para delimitar suas instrues.
Para que uma pgina HTML possa processar as instrues desenvolvidas no arquivo externo, basta utilizar o seguinte parmetro na pgina HTML:
<SCRIPT LANGUAGE=JAVASCRIPT SRC=NomeArquivo.js></SCRIPT> Veja pela figura abaixo o cone que representa um arquivo externo com instrues da linguagem JavaScript:
Conforme dito anteriomente, a linguagem JavaScript interpretada pelo browser e que seu cdigo embutido dentro do cdigo HTML entre os tags <SCRIPT> e </SCRIPT> ou atravs de um arquivo externo que possua a extenso .JS. Observe o uso de algumas aes que o JavaScript pode desenvolver atravs da figura a seguir:
Caixa de dilogo criada por uma instruo da Linguagem JavaScript.
Texto inserido no corpo de uma pgina atravs de instrues da Linguagem JavaScript.
NOTIFICAO DE ERROS NOTIFICAO DE ERROS NOTIFICAO DE ERROS NOTIFICAO DE ERROS
Alm dos comentrios, que iro evitar que os navegadores mais antigos exibam algum cdigo JavaScript que no reconhecido, durante o desenvolvimento e execuo do cdigo o programador precisar saber a origem de qualquer erro existente no seu programa. Para isto, possvel configurar o browser para exibir uma notificao de erro de script durante seus testes.
Utilizando o Internet Explorer o usurio poder acessar o menu Ferramentas e em seguida, Opes da Internet e logo mais acessar a guia Avanada e selecionar a opo Exibir Notificao sobre cada erro de script conforme mostrado na figura a seguir:
Feito isto, qualquer erro existente em seu programa ser notificado pelo browser de acordo com a figura abaixo:
Neste ponto do treinamento o usurio ir conhecer algumas instrues que iro facilitar o entendimento e a construo de um programa em JavaScript. Sero apresentados comandos que permitiro a manipulao e insero de objetos em documento HTML.
MTODO DOCUMENT.WRITE()
Esta instruo na realidade segue a sintaxe de ponto da linguagem JavaScript, uma das maneiras de seguir a hierarquia dos objetos presentes na linguagem. Nesta linha de comando temos o mtodo write() que pertencente ao objeto document que retrata o documento como um todo. Vejamos um exemplo de sua utilizao atravs do cdigo apresentado a seguir:
document.write("Texto inserido com instrues JavaScript");
Atravs do exemplo apresentado anteriormente foi dado como argumento do mtodo write a string apresentada, determinando-o a se apresentar no corpo do documento, observe pelo exemplo da figura a seguir:
MTODO ALERT()
A finalidade deste mtodo emitir uma caixa de dilogo do windows conforme mostrado no exemplo passado com uma mensagem e um boto de OK. Este mtodo pertencente ao objeto window do JavaScript, porm seu uso com a sintaxe de ponto opcional, assim sendo observe a sintaxe de seu funcionamento e o exemplo da prxima figura:
window.alert("Meu Primeiro Script");
ou
alert("Meu Primeiro Script");
MTODO CONFIRM() Uma outra alternativa alm do mtodo alert() est no mtodo confirm() que exibe uma caixa de dilogo e os botes de OK e CANCELAR. Caso seja pressionado o boto OK, o mtodo retornar o valor booleano TRUE e pressionado o boto CANCELAR, retornado o valor FALSE.
Com isto, o usurio poder determinar uma tomada de deciso dentro de seu script. Assim como o mtodo alert(), o mtodo confirm pertencente ao objeto window, sendo seu uso opcional, observe sua sintaxe abaixo e veja o exemplo da caixa de dilogo presente na figura a seguir:
window.confirm("Tem Certeza??");
ou
confirm("Tem Certeza??");
COMANDOS CONDICIONAIS E REPETIO COMANDOS CONDICIONAIS E REPETIO COMANDOS CONDICIONAIS E REPETIO COMANDOS CONDICIONAIS E REPETIO
INSTRUO WHILE
A instruo while realiza uma ao enquanto determinada condio for satisfeita. Sua sintaxe bsica :
while (expresso) { comandos }
Veja no exemplo seguinte a utilizao do lao while que repetido por total de 10 vezes:
Neste exemplo, foi definido a varivel num com o valor zero, em seguida este valor comparado na condio while que num<10, que caso seja verdadeira a varivel num incrementada com mais 1 e exibido na tela, quando ele atinge o valor limite que 10, o cdigo desviado para a primeira condio aps o lao. Veja agora um exemplo prtico de sua utilizao:
<script> function condicao(){ while(form1.nome.value==""){ alert("Favor Preencher o campo"); form1.nome.value=prompt("Digite seu nome agora",""); } alert("Obrigado, "+form1.nome.value); } </script> <pre> <form name="form1"> Nome: <input type="text" name="nome" onBlur="condicao(this.value)"> </script>
INSTRUO FOR
A instruo for realiza uma ao at que determinada condio seja satisfeita. Sua sintaxe bsica :
for (incio;condio;incremento) { comandos }
O incio determina o valor inicial do lao for. Normalmente 0 ou 1, porm poder ser especificado qualquer outro valor. O valor especificado atribudo em uma varivel, por exemplo i=0, count=1.
A condio determina a expresso que ir controlar o nmero de repeties do lao. Enquanto esta expresso for verdadeira, o lao continuar, caso o lao seja falso, o lao terminar. Por exemplo: i<20. Enquanto o valor de i for menor que 20, a condio verdadeira.
O incremento determina como o lao ir contar, de 1 em 1, 2 em 2, 5 em 5, 10 em 10, enfim. Exemplo: i++. Ser aumentado o valor da varivel i a cada repetio. Diferente de todas as outras linguagens, em JavaScript, a instruo for, utiliza ponto e vrgula para separar os argumentos ao invs de vrgula. Vejamos um exemplo prtico de utilizao do lao for que conta valores de 1 at 10, acrescentando um valor de cada vez:
<script> for (i=1 ; i<=10 ; i++){ document.write("nmero: "+ i +"<br>"); } </script>
i a varivel utilizada para armazenar o contador do lao for. Logo mais, o lao inicia com 1 e continua at 10. A expresso condicional i<10 (i menor que 10). Enquanto a expresso condicional for verdadeira, o lao for continua. No incremento, a cada repetio do lao ser adicionado a varivel i mais 1. Veja outro exemplo:
Podemos dizer que o lao for...in uma verso especial da instruo for, que usada para saber os nomes de propriedades e contedos das propriedades de objetos no JavaScript. Esta instruo muito usada na depurao de cdigos. Por exemplo, caso uma parte do cdigo JavaScript no esteja funcionando corretamente e existe uma suspeita de que existe uma falha do objeto JavaScript, o usurio poder usar for...in para examinar as propriedades do objeto usado. Sua sintaxe formada da seguinte maneira:
for (varivel in objeto){ instrues; }
Veja pelo exemplo a seguir, o uso do lao for...in para determinar as propriedades do objeto navigator que contm informaes sobre o browser. Ao listar todas as propriedades do objeto, o lao automaticamente se encerrar:
for (teste in document){ alert(teste); }
Neste lao, foi criado uma varivel chamada teste que foi atribudo o contedo do objeto document. Dentro do lao foi executado a instruo alert que exibe o contedo da varivel teste.
IF ... ELSE
Realiza determinada ao de acordo com uma condio. Sua sintaxe bsica :
if (condio) { comandos } else { comandos }
Caso haja mais de uma condio a ser avaliada pode-se fazer o uso da instruo ELSE IF. Observe sua sintaxe:
if (condio) { comandos } else if (condio2) { comandos } else { comandos }
Neste exemplo foi criada uma funo que testar o contedo da varivel nome, que ocorrer assim que o usurio retirar o foco do campo, caso o valor da varivel esteja vazio, ser exibida uma mensagem de alerta informando para o preenchimento e em seguida o foco ser retornado para o campo nome. Em caso contrrio, o script continuar seu processamento normal at o fim. Criaremos agora uma condio alternativa para quando o campo no estiver vazio, observe:
J neste exemplo, foi definido a instruo else que determinar o que deve ocorrer caso a condio seja falsa. No exemplo anterior, caso o campo no esteja vazio ser exibida outra mensagem de alerta em em seguida foi definido que como retorno o texto do campo ser selecionado.
Alm dos mtodos condicionais apresentados, a linguagem JavaScript suporta um mtodo alternativo para criar expresses condicionais. Este mtodo j suportado em outras linguagens de programao permite ao usurio construir um exemplo prtico e simples para sua utilizao. Sua sintaxe bsica tem a seguinte formao:
(condio) ? Valor verdadeiro : Valor falso;
Onde condio, a expresso ser avaliada.
Onde Valor verdadeiro, especifica a ao que ocorrer se a condio for verdadeira. Onde Valor falso, especifica a ao que ocorrer caso a condio seja falsa.
Veja abaixo um exemplo de utilizao deste tipo de expresso condicional:
exemplo=prompt("Digite seu nome ou clique em Cancelar.",""); (exemplo==null) ? alert("O usurio Cancelou!") : alert("O usurio digitou: "+exemplo);
Assim como na maioria das linguagens de programao a instruo if no est limitada a utilizao apenas do sinal de igualdade (==). O usurio poder fazer diferentes tipos de testes lgicos como se os valores so diferentes, maior que ou menor que, entre outros.
RETURN
Esta instruo tem como finalidade marcar o final de uma funo. A linguagem JavaScript ao encontrar esta instruo ele ir retornar para o ponto imediatamente aps a chamada da funo. Ela ainda pode ser definida com um valor de retorno ou no.
Quando um valor includo com esta instruo, a funo ir retornar este valor definido pela instruo. Quando um valor no incldo com a instruo return, ento a funo retorna um valor nulo.
Por padro, esta instruo jamais usada fora de uma funo. Quando isto acontece, a linguagem ir retornar um erro quando a mesma estiver definida fora de uma funo. Os parnteses apresentados no exemplo abaixo no so obrigatrios. Vejamos alguns exemplos de scripts usando a instruo return. <script> <!-- function teste(){ var valor=5; if (valor>=5){ return (true); } else { return (false); } } --> </script>
SWITCH
Esta instruo bem semelhante com uma estrutura IF, porm mais eficiente em razo de ser mais simples sua utilizao e seu entendimento. Veja a sintaxe utilizada para o uso de instrues SWITCH:
switch (expresso){ case CONSTANTE: comandos; break;
case CONSTANTE2: comandos; break;
case default: comandos; break; } INSTRUO WITH
Esta instruo faz com que um objeto se torne default para uma srie de opes existentes. Normalmente esta instruo utilizada com o objeto Math, uma vez que ele exige que o usurio especifique o nome do objeto quando acessar qualquer uma de suas propriedades. Veja sua sintaxe:
with (objeto){ instrues } Vejamos alguns exemplos de sua utilizao:
Utilizando a instruo with o usurio ir determinar os valores que deseja economizando tempo na aplicao. Observe como ficaria estas instrues aplicadas com a instruo with:
<script> with (Math){ alert(PI); alert(round(1234.5678)); } </script>
Veja pelo exemplo anterior, que o usurio no necessitou utilizar o objeto Math vrias vezes.
Outra questo, que a instruo with no utilizada somente com o objeto Math. Ela poder ser usada com a maioria dos outros objetos da linguagem JavaScript. FUNES FUNES FUNES FUNES
Funes em JavaScript nada mais so que uma rotina JavaScript que possui um conjunto de instrues serem executadas. Sua sintaxe compem-se dos seguintes parmetros:
function nomeFuno(argumentos) { Comandos }
Se a funo possuir argumentos, estes devero estar colocados entre parnteses aps o nome da funo. O corpo da funo dever ser colocado entre chaves que indicaro o incio do bloco de instrues e o fim do bloco de instrues.
Normalmente, as funes so definidas dentro do cabealho da pgina HTML representados pelo tag <HEAD>. Com isto, todas as funes so carregadas assim que a pgina carregada, bem antes que o usurio pense em executar alguma ao.
Vejamos um exemplo simples de uma funo que exibe uma mensagem na tela:
function primeiraFuncao(){ alert("Isto uma funo JavaScript"); }
Com isto, o usurio apenas definiu a funo, para que ela seja executada, necessrio fazer a sua chamada. Para chamar a funo basta incluir seu nome no local do cdigo que deseja que ela seja executada. No exemplo a seguir, note que aps a funo foi feita sua chamada, bastando para tanto redigir seu nome, observe:
function primeiraFuncao(){ alert("Isto uma funo JavaScript"); } primeiraFuncao();
padro da linguagem JavaScript que ao encontrar a chamada de uma funo, ele desvia para as instrues respectivas desta funo e ao termin-la, volta para o primeiro cdigo aps a chamada da funo.
Uma funo pode ser chamada de diversas formas, dentro da rea do cdigo JavaScript e at mesmo atravs de um evento dentro de um tag HTML, como um boto de formulrio ou hiperlink. Veja um exemplo de uso da chamada de uma funo atravs da ao do usurio ao clicar em um boto de formulrio: <HTML> <HEAD> <TITLE>UTILIZANDO FUNES</TITLE> </HEAD> <BODY> <SCRIPT> function primeiraFuncao(){ alert("Isto uma funo JavaScript"); } </SCRIPT> <INPUT TYPE="BUTTON" VALUE="Clique aqui!" onClick="primeiraFuncao()"> </BODY> </HTML>
Neste exemplo, foi definido a chamada da funo atravs do evento onClick que processado assim que o usurio d um clique sobre o boto que executar a funo.
O usurio poder atravs do uso de funes passar valores a mesma, com isto a funo usar os valores no processamento. Vejamos no exemplo abaixo que foi definido como argumento da funo exemplo a varivel texto, esta varivel usada como o texto que ser exibido pela instruo alert. Ao chamar a funo, basta o usurio definir o texto que deseja ser apresentado como argumento da funo:
<script> function exemplo(texto){ alert(texto); } exemplo("Curso de JavaScript"); </script>
Em algumas situaes o usurio talvez queira retornar um valor de uma funo. Para isto, basta fazer o uso da instruo return mais o valor que queira retornar. Vejamos um exemplo tpico do uso de uma funo que ir retornar um determinado valor. Observe:
<script> var ret=prompt("digite o nome",""); var shor=mostranome(ret); alert(shor);
function mostranome(nome){ if (nome=="" || nome==null) return ("erro"); else return (nome); }
OBJETO ARGUMENTS
Normalmente as funes so declaradas para aceitar um determinado nmero de parmetros, vejamos um exemplo que usa uma funo que declarada para usar dois argumentos e usados para exibir os mesmos em uma mensagem de alerta:
<script> mensagem("SENAC","Minas Gerais");
function mensagem(mensagem1,mensagem2){ alert(mensagem1); alert(mensagem2); } </script>
claro que se houvesse vrios argumentos serem exibidos, isto seria uma maneira penosa de programar. Atravs da linguagem JavaScript, o usurio poder fazer uso do objeto arguments que criado dentro de uma funo. Este objeto um array que poder receber todos os argumentos necessrios para passar a funo quando a mesma for chamada. Veja no exemplo a seguir sua utilizao:
function mensagem(){ for (i=0;i<mensagem.arguments.length;i++){ alert(mensagem.arguments[i]); } } </script> UTILIZANDO UTILIZANDO UTILIZANDO UTILIZANDO EVENTOS EVENTOS EVENTOS EVENTOS
EVENTO ONBLUR
Com o evento onBlur o usurio ir controlar o contedo de um elemento em um formulrio select, text ou textarea quando o mesmo remove o foco. Veja pelo exemplo a seguir de uma caixa de texto exibir uma mensagem na tela assim que o campo perde o foco:
Veja agora outro exemplo, criando uma funo para que caso o usurio deixe o campo em branco, seja exibida a mensagem de alerta:
<script> <!-- function teste(){ if (form1.campo1.value==""){ alert("FAVOR PREENCHER"); } } --> </script> <pre> <form name="form1"> Digite seu Nome: <input type="text" name="campo1" onBlur="teste()"> </form>
EVENTO ONCHANGE
Com o evento onChange o usurio poder acionar alguma funo sempre que for alterado o contedo dos objetos textarea, text ou select. Este evento bem similar com o evento onBlur, porm ele verifica se o contedo do elemento foi alterado. Vejamos um exemplo de sua utilizao:
O evento onClick utilizado em links, botes, radio, checkbox, reset. Vejamos um exemplo de sua utilizao em um boto de formulrio:
<input type="button" name="botao" value="Envia" onClick="alert('Obrigado pelos Dados')">
EVENTO ONFOCUS
Com o manipulador onFocus o usurio poder criar uma ao sempre que os elementos select, text ou textarea receberem o foco. Ao contrrio do evento onBlur que executa aes sempre que o elemento perde o foco. Veja um exemplo de sua utilizao:
Digite seu Nome: <input type="text" name="campo1" onBlur="teste()" onFocus= "alert ('Digite seu nome completo')">
Digite seu Endereo: <input type="text" name="campo2" onChange="alert('testando')" onFocus="this.value='R. Castelo da Beira'">
EVENTO ONLOAD
Conforme exemplo mostrando anteriormente, com o evento onLoad executa alguma ao assim que o documento carregado no browser. Este objeto aplicado diretamente ao objeto window.
Veja abaixo um exemplo de exibio de uma mensagem de alerta assim que a pgina carregada:
<body onLoad="alert('Seja Bem Vindo')">
EVENTO ONUNLOAD
Com o evento onUnLoad o usurio pode determinar uma ao assim que o usurio sai da pgina, seja por meio de um hiperlink ou at mesmo fechando o navegador. Com base no exemplo anterior foi criado uma mensagem de alerta assim que o usurio deixa a pgina:
<body onLoad="alert('Seja Bem Vindo')" onUnLoad="alert('Obrigado pela visita!')">
EVENTO ONMOUSEOVER
Com o evento onMouseOver o usurio criar uma ao que ser acionada sempre que o ponteiro do mouse se mover sobre um link. Veja um exemplo de sua utilizao:
<a href="http://www.mg.senac.br" onMouseOver="defaultStatus='Olhe para a barra de Status'">SENAC</A><BR>
Ser exibida uma mensagem na barra de status, assim que o mouse sair de cima do link. Para evitar este problema, atribua para este evento a instruo return true que executar o comando executado sem problemas. Veja pelo exemplo a seguir:
<a href="http://www.mg.senac.br" onMouseOver="defaultStatus='Olhe para a barra de Status'; return true">SENAC</A><BR>
Lembre-se que quando quiser executar duas aes para o mesmo evento, basta separ-las com um ponto e vrgula.
EVENTO ONMOUSEOUT
Com este evento o usurio poder determinar uma ao assim que o mouse sair de cima de um hiperlink. Pelo exemplo do evento onMouseMove o usurio consegue atribuir uma mensagem na barra de status, porm a mensagem permanece, utilizando o evento onMouseOut, o usurio poder informar o que deve acontecer quando o ponteiro do mouse sair do objeto.
Avaliando o exemplo anterior, vamos determinar que ao ponteiro do mouse sair do hiperlink, a mensagem da barra de status ser omitida. Veja pelo exemplo a seguir:
<a href="http://www.mg.senac.br" onMouseOver="defaultStatus='Olhe para a barra de Status'; return true" onMouseOut=defaultStatus="">SENAC</A><BR>
EVENTO ONMOUSEDOWN
O evento onMouseDown ocorre sempre que pressionado o boto do mouse. Veja pelo exemplo apresentado abaixo:
<a href="http://www.mg.senac.br" onMouseOver="defaultStatus='Olhe para a barra de Status';return true" onMouseOut=defaultStatus="" onMouseDown="alert('testando')">SENAC</A>
EVENTO ONMOUSEUP
O evento onMouseUp ocorre sempre que o boto do mouse solto. Este evento segue os mesmos padres do evento apresentado anteriormente.
EVENTO ONKEYPRESS
O evento onKeyPress ocorre sempre que uma tecla pressionada. Este evento segue os mesmos padres do evento apresentado anteriormente.
EVENTO ONKEYDOWN
O evento onKeyDown ocorre sempre que uma tecla abaixada. Este evento segue os mesmos padres do evento apresentado anteriormente.
EVENTO ONKEYUP
O evento onKeyUp ocorre sempre que uma tecla solta. Este evento segue os mesmos padres do evento apresentado anteriormente.
EVENTO ONSELECT
O evento onSelect ocorre sempre quando o usurio seleciona um texto dos elementos de formulrio text ou textarea.
O evento onSubmit ocorre sempre que o usurio envia o formulrio. Com este evento o usurio poder determinar ou no o envio do formulrio. Vejamos um exemplo para sua utilizao:
Com este evento o usurio poder verificar a validao de dados, como por exemplo se todos os campos do formulrio esto preenchidos.
Veja agora um exemplo desta utilizao, caso o campo especfico esteja em branco o usurio receber uma mensagem informando que o campo no foi preenchido: <script> <!-- function teste(){ if (form1.campo1.value==""){ alert("FAVOR PREENCHER"); return(false); } else { return(true); } } --> </script> <pre> <form name="form1" onSubmit="teste()"> Digite seu Nome: <input type="text" name="campo1">
FUNES DA LINGUAGEM JAVASCRIPT FUNES DA LINGUAGEM JAVASCRIPT FUNES DA LINGUAGEM JAVASCRIPT FUNES DA LINGUAGEM JAVASCRIPT
As funes utilizadas em JavaScript so embutidas no ncleo da linguagem. Estas funes no pertencem nenhum objeto, elas funcionam com variveis nmero e as que no so objetos. Com estas funes no necessrio a declarao de um objeto-pai para us-las, sendo bem diferentes dos mtodos como por exemplo document.write. Write o mtodo pertencente ao objeto document.
FUNO EVAL
Esta funo avalia uma expresso que poder ser em formato string, o que se torna prtico quando o usurio deseja estabelecer expresses no momento em que for preciso. Sua sintaxe formada da seguinte maneira:
eval(expresso);
Criaremos um exemplo que ir avaliar uma expresso que contm nmeros, operadores e strings. Neste exemplo formaremos um clculo que ser representado como string. Com o uso da funo eval, ser testado todos os argumentos da funo fazendo a compreenso de todos os elementos presentes:
A funo isNaN tem a finalidade de testar um nmero para determinar se no se no um nmero. Normalmente esta funo usada para comparar valores do tipo nmero ou string. Com o emprego desta funo o usurio poder determinar se um valor contm realmente um valor numrico. Esta funo pode ser utilizada em conjunto com as funes parseInt e parseFloat em razo de retornarem a string NaN quando o contedo da varivel no um nmero. Sua sintaxe tem a seguinte formao:
isNaN(valor);
No exemplo a seguir, foi criado um script bem simples que testa se o valor digitado no campo de formulrio um nmero.
<script> function condicao(valor){ if(isNaN(valor)){ alert("No um nmero!!!"); } } </script> <form name="form1"> Nome: <input type="text" name="nome" onBlur="condicao(this.value)">
FUNO PARSEFLOAT
Com a funo parseFloat, feita a converso de um objeto string, retornando um valor de ponto flutuante. Com ela convertido uma string em um valor numrico equivalente. Se a funo encontrar um caractere diferente de um sinal (+ ou -), nmeros (0 9), ponto decimal ou expoente, ser retornado o valor at aquele ponto e ignorado o restante. Caso o primeiro caractere no puder ser convertido para um nmero, parseFloat ir retornar os valores 0 para a plataforma Windows e NaN para as outras plataformas. Sua sintaxe tem a seguinte formao:
parseFloat(string);
Veja a seguir um exemplo da utilizao da funo parseFloat.
Com a funo parseInt, o usurio poder converter valores de string em valores numricos equivalentes. possvel a converso de nmeros de bases como hexadecimal ou octal em valores decimais. Caso a funo encontra um caractere diferente de um sinal (+ ou -), nmeros (0 9), ponto decimal ou expoente, ser retornado o valor at aquele ponto e ignorado o restante. Caso o primeiro caractere no puder ser convertido para um nmero, a funo parseInt ir retornar o valor 0 para Windows e NaN para outros sistemas. Sua sintaxe tem a seguinte formao:
parseInt(string,radix);
Onde apresentado radix, um inteiro que representa a base do valor de retorno. No exemplo a seguir convertido um valor string em seu valor numrico equivalente: <script> valor=parseInt("123.456"); alert(valor); </script>
atravs do parmetro radix, possvel a converso de um nmero de uma base para decimal, j no caso contrrio isto no possvel. Veja um exemplo de sua utilizao:
As funes pr-programadas do JavaScript, permite ao usurio executar operaes simples como configurar sua pgina como inicial, adicionar uma URL ao favoritos, imprimir o documento, aumentar sua lgica de raciocnio facilitando a criao de novos scripts, entre outras operaes. Vejamos alguns exemplos.
IMPRESSO DA PGINA
Atravs da funo print(), o usurio poder executar a funo de imprimir evitando caminhos longos para isto ou facilitar ao usurio iniciante em informtica, abaixo segue um exemplo simples:
Neste exemplo foi usado o evento onMouseDown que avisa ao navegador para imprimir o documento atual quando o usurio clicar sobre o texto de pargrafo.
ADICIONAR AO FAVORITOS
Segue a seguir, um exemplo de insero de uma URL pasta dos Favoritos. Veja sua utilizao e estude sua lgica, observe que bem simples:
<script> <!-- var url="http://www.mg.senac.br" var titulo="Portal Senac Minas" function Favoritos(){ if (document.all) window.external.AddFavorite(url,titulo) } // --> </script> <input type="button" value="Favoritos" onClick=Favoritos()>
JANELA EM MOVIMENTO
Outro Exemplo interessante a abertura de uma pgina que abre uma janela em movimento. Veja o cdigo abaixo e faa um teste:
function expandingWindow(website) { var heightspeed=2;//velocidade vertical (valor maior = mais lento) var widthspeed=7;//velocidade horizontal(valor maior = mais lento) var leftdist = 0; // distncia do canto esquerdo da janela var topdist = 0; // distncia do canto superior da janela if (document.all) { var winwidth = window.screen.availWidth - leftdist; var winheight = window.screen.availHeight - topdist; var sizer = window.open("","","left=" + leftdist + ",top=" + topdist + ",width=1,height=1,scrollbars=yes"); for (sizeheight = 1; sizeheight < winheight; sizeheight += heightspeed) { sizer.resizeTo("1", sizeheight); } for (sizewidth = 1; sizewidth < winwidth; sizewidth += widthspeed) { sizer.resizeTo(sizewidth, sizeheight); } sizer.location = website; } else window.location = website; } // End --> </script> <a href="http://javascript.internet.com/" onClick="expandingWindow('http://www.aglima.ezdir.net/');return false;">Open JavaScriptSource.com!</a> TEXTO NA BARRA DE STATUS EM MOVIMENTO
<html> <head> <script LANGUAGE="JavaScript"> <! var speed = 10 var pause = 1500 var timerID = null var bannerRunning = false var ar = new Array() ar[0] = "Adriano... " ar[1] = "Gomes" ar[2] = "Lima" ar[3] = "Informtica:" ar[4] = " cidade de Santos." var message = 0 var state = "" clearState() function stopBanner() { if (bannerRunning) clearTimeout(timerID) timerRunning = false } function startBanner() { stopBanner() showBanner() } function clearState() { state = "" for (var i = 0; i < ar[message].length; ++i) { state += "0" } } function showBanner() { if (getString()) { message++ if (ar.length <= message) message = 0 clearState() timerID = setTimeout("showBanner()", pause) } else { var str = "" for (var j = 0; j < state.length; ++j) { str += (state.charAt(j) == "1") ? ar[message].charAt(j) : " " } window.status = str timerID = setTimeout("showBanner()", speed) } } function getString() { var full = true for (var j = 0; j < state.length; ++j) { if (state.charAt(j) == 0) full = false } if (full) return true while (1) { var num = getRandom(ar[message].length) if (state.charAt(num) == "0") break } state = state.substring(0, num) + "1" + state.substring(num + 1, state.length) return false } function getRandom(max) { var now = new Date() var num = now.getTime() * now.getSeconds() * Math.random() return num % max } // --></script> </head> <body onLoad=showBanner()>
TABELA DE CORES <SCRIPT> function geraTabela() { document.write('<table border=1 width="100%">'); var valores = "00336699CCFF"; var r, g, b; var cor; for (r=0; r<6; r++) { for (g=0; g<6; g++) { if (g%2==0) document.write("<tr>"); for (b=0; b<6; b++) { cor = valores.substr(2*r,2) + valores.substr(2*g,2) + valores.substr(2*b,2); document.write('<td align="center" bgcolor="#'+cor+'">'); if (g<3) document.write("<font size=-2 color=white>"); else document.write("<font size=-2 color=black>"); document.write(cor+"</font></td>"); } if (g%2==1) document.write("</tr>"); } } document.write("</table>"); } </SCRIPT> <body onLoad=geraTabela()>
TEXTO EM MOVIMENTO EM UM CAMPO DE FORMULRIO
<script language="javascript"> <!-- var mensagem = "Curso de JavaScript do Senac Minas!!!"; var texto; var ligado = false; var timeoutID = null; var posicao = 0; var tamanho; var janela;
Veja na tabela a seguir a relao das propriedades do objeto String:
PROPRIEDADES DESCRIO length Comprimento de uma string.
MTODOS DO OBJETO STRING
Os mtodos do objeto string permitem a manipulao do objeto. O usurio poder utilizar string literal ou de variveis. Vejamos sua sintaxe abaixo:
String literal.mtodo()
TextString=string de varivel TextString.mtodo()
MTODO ANCHOR
Este mtodo tem a funo de criar uma ncora a partir de uma string. Este mtodo similar criao de uma ncora utilizando o tag HTML <A NAME=valor>, o mesmo ocorreria se definir string.anchor(valor). Vejamos a sintaxe de utilizao do mtodo anchor:
String.anchor(nome)
Veja um exemplo de utilizao deste mtodo:
<script> Ancora="Incio do Documento"; valor=Ancora.anchor("inicio"); document.write(valor); </script>
Este script poderia ser utilizado pela linguagem HTML atravs do seguinte cdigo:
<A NAME=inicio>Incio do Documento</a>
MTODO BIG
Este mtodo substitui o tag HTML <BIG>, que tem a funo de aumentar a fonte e atribuir o estilo de negrito. Para utiliz-lo, siga a seguinte sintaxe:
string.big();
Veja o exemplo de utilizao deste mtodo: <script> texto="SENAC-MG"; document.write(texto.big()); </script>
MTODO SMALL
Este mtodo substitui o tag HTML <SMALL> que tem a funo de reduzir o tamanho da fonte. Para utiliz-lo, siga a seguinte sintaxe:
Este mtodo referente ao tag HTML <I> que atribui o estilo de itlico em um texto. Sua sintaxe segue o mesmo padro do mtodo bold. Veja abaixo um exemplo da utilizao do mtodo italics
Com o mtodo fixed, possvel formatar o qualquer texto em fonte fixa, ou como conhecido em HTML, em fonte monoespao definido pelo tag <TT>. Sua sintaxe segue a seguinte composio:
Este mtodo tem a funo de criar um texto tachado que exibe uma linha no meio do texto exibido. Este mtodo tem a mesma funo do tag HTML <STRIKE>. Sua sintaxe bsica segue o seguinte padro:
Determina a cor da fonte em um texto de acordo com o tag HTML <FONT COLOR>.
SINTAXE
String.fontcolor(cor);
Exemplo de utilizao do mtodo fontcolor:
<script> texto="SENAC-MG"; document.write(texto.fontcolor("red")); document.write("Informtica".fontcolor("blue")); </script> O mtodo fontcolor aceita nomes de cores slidas, assim como, os valores hexadecimais da cor referente.
MTODO FONTSIZE
Este mtodo, determina o tamanho da fonte seguindo os padres do tag HTML <FONT SIZE> que possui tamanhos que vo de 1 a 7, assim como a possibilidade de valores relativos atravs dos sinais de + e -. Sua sintaxe bsica segue o seguinte padro:
Com este mtodo o usurio poder retornar o caractere em uma determinada posio em uma string. Por exemplo, temos a string SENAC e a posio de referncia 3, com base nisto o caractere de retorno A. Estas posies so contadas partir de 0 da esquerda para a direita.
Com o mtodo indexOf o usurio pode retornar a posio de um caractere dentro de uma string. Um exemplo claro do mtodo indexOf, a maneira de saber se determinada string possui algum caractere especfico. Caso a string no contiver o caractere especfico, o mtodo ir retornar o valor 1, caso haja a ocorrncia do caractere procurado, ser retornado o valor 0 ou superior, sendo que 0 a posio do primeiro caractere da string, 1 a posio do segundo caractere e assim por diante. Caso exista duplicidade do caractere especfico, o mtodo ir retornar a posio do primeiro caractere encontrado. Sua sintaxe segue o seguinte padro:
Uma das prticas utilizaes deste mtodo, determinar se determinado valor de uma string um nmero ou uma letra.
MTODO LASTINDEXOF
Com o mtodo lastIndexOf o usurio poder retornar a ltima posio de um determinado caractere em uma string. Um exemplo de utilizao deste mtodo a de retornar a posio de um caractere barra (/) em uma string, para por exemplo utilizar com URLs. Sua sintaxe bsica, segue o seguinte exemplo:
String.lastIndexOf(caractere,offset);
Onde caractere, o caractere que deseja procurar dentro da string. Onde offset, a posio na string a partir de onde o usurio deseja comear a pesquisa. Veja abaixo um exemplo que localiza a ltima ocorrncia da letra N na string SENAC-MG utilizada como exemplo.
Este mtodo retorna uma parte de uma string. O usurio poder especificar o incio e o final da parte que deseja extrair indicando a posio inicial como 0, j a posio final determinada com a instruo string.length-1, isto , um a menos do que o comprimento da string. Sua sintaxe bsica tem a seguinte formao:
string.substring(incio,fim);
Vejamos um exemplo da utilizao do mtodo substring:
Veja que o contedo da varivel texto est em letras maisculas, com o uso do mtodo toLowerCase, este texto ser apresentado no documento em letras minsculas.
MTODO TOUPPERCASE
Com o mtodo toUpperCase, o usurio poder converter uma string em letras maisculas. Sua sintaxe bsica segue o seguinte padro:
Na linguagem JavaScript as imagens que so inseridas atravs da linguagem HTML so consideradas cada uma um objeto do tipo IMAGE. Com isto, podemos concluir que as imagens possuem propriedades e mtodos assim como os outros objetos j existentes. Atravs deste objeto possvel que o usurio possa interagir melhor e dinamicamente as imagens utilizadas em suas pginas.
Vejamos pelo exemplo a seguir a instruo HTML que insere uma imagem em uma pgina.
At aqui tudo bem, mas note que fora atribudo uma varivel nesta imagem atravs do atributo name. Esta varivel serve para fazer referncia imagem atualmente inserida na pgina no cdigo JavaScript que ser desenvolvido. Vamos agora inserir um boto de formulrio que ser responsvel pelo evento que iremos desenvolver, logo nosso cdigo ficar da seguinte forma:
No cdigo a seguir, foi utilizado o evento onClick que determinar a ao para o boto. Esta ao foi designada para trocar a imagem atualmente inserida por outra imagem. Note que foi feita uma referncia para inserir nova imagem no local da imagem atual.
Em anlise sobre este cdigo simples, foi determinado que no documento atual, especificamente no objeto chamado senac que trata a figura atualmente inserida, ser originada outra imagem iso9001.gif em seu local atual. Resultando na troca da imagem. Veja agora o mesmo cdigo fazendo alternao entre as duas imagens de acordo com a opo escolhida, observe:
observe agora a criao de uma funo que far com que quando o usurio mover o mouse sobre a imagem a mesma ser ampliada e ao movimentar para fora da imagem, a mesma retornar ao seu tamanho original:
______________________________________________________ MTODOS DE INTERFAC MTODOS DE INTERFAC MTODOS DE INTERFAC MTODOS DE INTERFACE COM O USURIO E COM O USURIO E COM O USURIO E COM O USURIO
Com este tipo de mtodo, o usurio poder criar objetos especiais que criam diferentes tipos de caixas de dilogo. Estes mtodos fazem parte do objeto window. Com base nisto possvel por exemplo utilizar as seguintes instrues que resultam no mesmo efeito:
alert("Seja Bem Vindo!!!");
ou
window.alert("Obrigado pela Visita");
MTODO ALERT
Com o mtodo alert, o usurio poder sempre que desejar, exibir uma mensagem na tela exibindo uma caixa de dilogo como mostrado na figura abaixo:
Este mtodo segue a seguinte sintaxe:
alert(valor);
Veja pelo exemplo do script abaixo, a apresentao de uma mensagem atravs do mtodo alert:
<script> alert("Seja Bem Vindo!!!"); </script>
Com o mtodo alert possvel exibir vrios tipos de valores como numricos, strings, booleanos, entre outros. Veja outras maneiras de utilizao do mtodo alert:
<script> texto="SENAC-MG"; alert("Seja Bem Vindo!!!"); // Exibe a string. alert(12) // Exibe o valor numrico 12. alert(texto) // Exibe o contedo da varivel TEXTO. alert(texto+" Informtica") // Exibe a varivel mais a string. alert(true) // Exibe o valor true. </script>
Para que o texto da janela alert() aparea em vrias linhas, ser necessrio utilizar o caractere especial /n para criar uma nova linha.
MTODO CONFIRM
Com o mtodo confirm o usurio ir exibir uma caixa de dilogo com os botes OK e CANCELAR. De acordo com o boto escolhido a linguagem JavaScript ir retornar um determinado valor. Quando o usurio pressiona o boto OK, assumido o valor 1, caso seja pressionado o boto CANCELAR, ser assumido o valor 0. Sua sintaxe bsica formada da seguinte maneira:
confirm(valor);
vejamos um exemplo da utilizao do mtodo confirm:
<script> teste=confirm("Tem certeza que deseja fechar?"); if (teste==1){ alert("Arquivos fechados"); }else{ alert("Operao Cancelada"); } </script>
MTODO PROMPT
Com o mtodo prompt possvel a criao de uma caixa de dilogo onde o usurio poder entrar com alguma informao, alm de poderem optar no uso dos botes OK e CANCELAR. Quando o usurio cancela, automaticamente assumido ao mtodo prompt um valor nulo. Sua sintaxe formada da seguinte maneira:
prompt(valor,default);
onde default, o valor padro que ser exibido na caixa de texto ao usurio.
Veja um exemplo da utilizao do mtodo prompt:
<script> teste=prompt("Digite seu Nome:",""); alert(teste+" seja Bem Vindo!"); </script>
Os possveis valores a serem retornados pelo mtodo prompt so: String, quando o usurio digita um texto e pressiona o boto OK.
String vazia, quando o usurio no digita nada e pressiona OK.
NULO (null), quando o usurio pressiona o boto CANCELAR.
A manipulao de janelas se d atravs do objeto window da linguagem JavaScript. Sempre que se abre o browser automaticamente criado este objeto que representa exatamente a janela que fora aberta. Isto feito automaticamente sem a necessidade de usar os comandos da linguagem HTML.
Este objeto permite que o usurio crie e abra novas janelas de formas diferentes. Tudo isto possvel atravs das propriedades e mtodos do objeto window. Para utiliz-los, basta seguir a seguinte sintaxe:
window.propriedade window.mtodo
PROPRIEDADES DO OBJETO WINDOW/FRAME As propriedades deste objeto modificam os aspectos em relao da janela do navegador e de seus frames caso existam.
PROPRIEDADES DESCRIO frames[] Array de frames em uma janela. length Quantidade de frames existentes em uma janela. name Nome do objeto window. parent Representa a janela ou frame-pai. self Representa a janela atual de um frame. top Representa a janela superior do browser. window Representa a janela ou frame-pai. status Define uma string que ser apresentada na barra de status defaultStatus Define uma mensagem padro que ser apresentada na barra de status.
WINDOW.STATUS E DEFAULTSTATUS Tanto status como defaultStatus so utilizadas para atribuir uma string na barra de status, com a diferena que a propriedade defaultStatus pode ser utilizada como um simples objeto apesar de ser ainda uma propriedade do objeto window, mas alm disto a propriedade defaultStatus permite armazenar a mensagem padro que ser exibida, ou seja, aquela que voltar a ser exibida aps modificaes temporrias provocadas por mensagens colocadas na propriedade status. A sintaxe bsica das duas propriedades seguem o seguinte parmetro:
window.status("mensagem"); window.defaultStatus = "Esta a mensagem padro."; defaultStatus = "Esta a mensagem padro";
Veja o funcionamento disto acionando os botes abaixo:
MTODO OPEN
Este mtodo tem como objetivo abrir uma nova janela do browser. Com este mtodo o usurio poder abrir uma nova janela em branco ou uma janela que contm um documento especfico. Sua sintaxe tem a seguinte formao:
NomeJanela=window.open(URL,alvo,opes);
Onde NomeJanela uma varivel que ser uma referncia a nova janela.
Onde URL o endereo da janela a ser aberta.
Onde alvo o nome da janela para ser usado no atributo target dos tags <FORM> ou <A>.
Onde opes o parmetro que controla o comportamento da janela.
MTODO CLOSE
O mtodo close do objeto window tem a finalidade de fechar uma janela. Normalmente utiliza-se este mtodo atribudo um boto de ao criado com os formulrios. Sua sintaxe bsica tem a seguinte formao:
window.close()
No exemplo abaixo temos uma pgina com um boto chamado Fechar, onde quando o usurio clicar sobre o mesmo acionado este evento.
Neste caso, foi utilizado o evento onClick que executa a instruo window.close() assim que o usurio clica sobre o boto.
MTODO SETTIMEOUT
Atravs do mtodo setTimeout o usurio poder criar um contador de tempo que executa alguma ao aps um determinado intervalo de tempo. Sua sintaxe segue o seguinte padro:
varivel=setTimeOut(funo,intervalo);
Onde funo alguma instruo que o usurio quer que execute aps o intervalo especificado em milissegundos (milsimos de segundos). Na maioria das vezes, funo uma chamada de uma funo criada anteriormente.
Onde intervalo o tempo at que a funo seja executada.
Um dos exemplos mais comuns de uso do mtodo setTimeout o da criao de contadores em uma pgina e textos rolantes na barra de status. Veja pelo exemplo do script a seguir, o uso de texto piscante na barra de status:
function flash(){ if (controle == 1){ window.status=texto; controle=0; }else{ window.status=""; controle=1; } setTimeout("flash();",velocidade);
} // --> </script>
MTODO CLEARTIMEOUT
Atravs do mtodo clearTimeout o usurio poder cancelar um marcador de tempo que foi criado pelo mtodo setTimeout. Sua sintaxe segue o seguinte padro:
clearTimeout(tempo);
Onde tempo o manipulador de identificao do timer criado pelo mtodo setTimeout.
TRABALHANDO COM JANELAS TRABALHANDO COM JANELAS TRABALHANDO COM JANELAS TRABALHANDO COM JANELAS
Qualquer usurio que costuma navegar na Internet, sabe que possvel manipular a janela aberta de um site atravs de comandos do prprio browser como por exemplo o comando Tela Cheia encontrado no menu Exibir do navegador, entre outras opes. Mas atravs da linguagem JavaScript possvel realizar as mesmas operaes atravs de sua programao.
Se o usurio desejar abrir uma nova janela partir de uma janela j aberta, basta utilizar o mtodo open em sua estrutura. Veja sua sintaxe:
window.open(URL); janela=window.open(URL);
Onde:
janela: referente ao nome dado para a janela a ser aberta para fins das instrues de programao.
window.open: OPEN o mtodo do objeto window para abrir uma nova janela.
URL: o endereo da pgina que ser aberta na nova janela. Caso o usurio omitir este endereo, ser aberta uma nova janela vazia.
A omisso de uma URL, ser aberta uma nova janela em branco.
Veja no exemplo abaixo, a criao de uma nova janela chamada SENAC onde ser aberto o site do SENAC.
Senac=window.open(http://www.mg.senac.br)
possvel atravs de outros argumentos, definir o comportamento de como a nova janela dever ser apresentada. Veja os argumentos existentes para o mtodo open:
TOOLBAR permite a exibio da barra de ferramentas do navegador.
LOCATION permite a exibio da barra de endereo do navegador.
DIRECTORIES permite a exibio da barra de links do navegador.
STATUS permite a exibio da barra de status do navegador.
MENUBAR permite a exibio da barra de menu do navegador.
SCROLLBARS permite a exibio das barras de rolagem do navegador.
RESIZABLE permite ao usurio redimensionar a nova janela do navegador.
WIDTH especifica a largura da nova janela do navegador em pixels.
HEIGHT especifica a altura da nova janela do navegador em pixels.
Quaisquer uns destes argumentos possuem valores booleanos (yes/no,1/0). Se utilizar mais de um argumento, os mesmos devero estar separados por vrgula. Aquelas opes no definidas iro assumir valores falsos.
No exemplo apresentado a seguir, mostrada a abertura de uma segunda pgina apenas com a barra de status e com tamanho de 250 x 200 pixels:
Veja o efeito deste cdigo apresentado na figura a seguir:
Se o usurio desejar controlar o cdigo HTML da janela gerada, basta determinar no cdigo JavaScript da janela principal os tags especficos para a segunda janela. Veja pelo exemplo a seguir:
Neste cdigo foi usado o objeto document atribudo a varivel que representa a janela secundria JANELA2 para especificar os tags de cabealho e ttulo para esta nova janela.
Veja pelo exemplo da prxima figura que a nova janela ser apresentada com o ttulo JANELA 2 em sua barra de ttulo:
Vamos agora incrementar nosso cdigo, controlando o corpo da nova janela com cores e at com um texto presente. Veja no cdigo a seguir o uso do objeto document e seu mtodo write que ir permitir o controle sobre a segunda janela aberta a partir da primeira:
Vamos adicionar ao nosso script existente a seguinte linha alm da j existente:
teremos o seguinte efeito conforme mostrado na figura a seguir:
Aproveitando a criao desta nova janela, iremos criar um boto de formulrio onde atribuiremos uma ao de evento que far o fechamento automtico desta janela.
Para isto, basta utilizar o mtodo close para o objeto window. Veja pelo exemplo do cdigo a seguir:
o mtodo onClick foi utilizado para acionar o objeto window assim que o usurio clicar sobre este boto. Com isto, ele executar o mtodo close que tem a funo de fechar a janela onde ele se encontra. Veja pelo exemplo da figura a seguir:
Criaremos agora na janela principal um novo boto com a finalidade de abrir uma nova janela, para isto deve-se definir o boto no corpo da janela principal conforme mostrado no cdigo a seguir:
Para que se abra a mesma janela que foi fechada, necessrio que se crie uma funo para aproveitar o cdigo j utilizado.
ABRINDO PGINAS EM FULLSCREEN (Tela Cheia)
Atravs do argumento fullscreen o usurio poder abrir a janela do browser em tela cheia, fazendo-o ocupar toda rea do monitor. O cdigo a seguir permite ao usurio abrir sua pgina em tela cheia
<script> <!-- function Remote() { var remote = null remote = window.open('','vRemote','toolbar=no,location=no,directories=no,st atus=no,menubar=no,scrollbars=yes,resizable=no,fullscreen=yes') if (remote != null) { if (remote.opener == null) { remote.opener = self } remote.location.href ='http://www.aglima.ezdir.net' } } Remote(); history.go(-1); // --> </script>
O OBJETO MATH O OBJETO MATH O OBJETO MATH O OBJETO MATH
Este objeto utilizado para realizar operaes matemticas. Estas operaes podem ser aritmticas, funes trigonomtricas, funes de arredondamento e comparao. A sintaxe de utilizao dos mtodos deste objeto seguem a seguinte sintaxe:
Math.mtodo(valor)
Ou
with (Math){
mtodo(valor)
}
PROPRIEDADES DE CLCULO DO OBJETO MATH
Veja na tabela abaixo a relao das propriedades do objeto Math:
PROPRIEDADES DESCRIO E Constante de Euler e a base dos logaritmos naturais (prximo de 2,118). LN2 Logaritmo natural de 2. LN10 Logaritmo natural de 10. LOG2E Logaritmo na base 2 de E. LOG10E Logaritmo na base 10 de E. PI Equivalente numrico de PI, arrendondado para 3,14. SQRT1_2 Raiz quadrada de um meio. SQRT2 Raiz quadrada de 2.
No exemplo que foi utilizado a estrutura with, permite ao usurio utilizar uma srie de mtodos math sem a necessidade de acrescentar varios Math.Objeto, facilitando todo um trabalho.
MTODOS DO OBJETO MATH
ABS
Este mtodo tem a funo de retornar o valor absoluto de um nmero. Isto significa que o valor ser sempre positivo. Caso seja utilizado um valor negativo este mtodo. Ele ser retornado como positivo. Por exemplo, caso seja definido o valor 123, ele ser convertido para 123. Veja o exemplo abaixo:
Neste exemplo foi definido varivel valor o mtodo abs do objeto Math que possui o valor negativo 123, em seguida foi solicitado atravs de uma caixa de alerta a exibio do contedo da varivel valor que foi convertido em nmero positivo.
ACOS
Este mtodo ir retornar o arco co-seno (em radianos) de um nmero. Vejamos o exemplo a seguir:
O script acima ir retornar o resultado: 0.12028988239478806
CEIL
Este mtodo retorna um inteiro maior que ou igual a um nmero. O resultado deste mtodo equivalente ao arredondamento de um nmero. Claro que a lgica do arredondamento de um nmero que se um nmero um valor positivo como por exemplo 12,6 o resultado 13, quando o nmero for um valor negativo, por exemplo 12,6 o resultado 12. Vejamos o exemplo do uso do mtodo ceil.
Retorna a base elevada potncia do expoente, por exemplo, 2 elevado dcima potncia 1024. Com o mtodo pow apresenta-se os argumentos de base e de expoente. Vejamos este exemplo o seu resultado:
Retorna um nmero aleatrio entre 0 e 1 com at 15 dgitos. Este nmero aleatrio definido atravs do relgio do computador. Veja pelo script a seguir a apresentao de um nmero aleatrio:
<script> alert(Math.random()); </script>
ROUND
Com o mtodo round possvel arredondar um valor. O arredondamento segue a regra de arredondamento mostrada anteriormente. Vejamos o exemplo:
______________________________________________________ OBJETO DATE
Atravs do objeto Date o usurio poder manipular datas e horas. Observe pela sintaxe adiante a criao de um novo objeto de data.
PROPRIEDADE
Este objeto de nvel superior.
SINTAXE
Varivel=new Date();
MTODOS GET DO OBJETO DATE
Os mtodos getDate, getDay entre outros tm a finalidade de recuperar a data e hora de um objeto date. Ele poder conter a data e hora atuais ou especficas. Aps a especificao do objeto date, basta especificar qual o mtodo veja pelos exemplos apresentados abaixo:
Data=new Date(); alert(Data.getDay()) // Retorna o dia atual. alert(Data.getMonth()) // Retorna o ms atual. alert(Data.getYear()) // Retorna o ano atual.
MTODOS DESCRIO getDate Dia da semana (0=Domingo). getDay Dia do ms. getHours Horas (0 a 23). getMinutes Minutos (0 a 59). getMonth Ms do ano (0=janeiro). getSeconds Segundos (0 a 59). getTime Milissegundos desde 1 de janeiro de 1990 (00:00:00). getTimezoneOffset Diferena de fuso horrio em minutos para o GMT. getYear 2 digitos do ano at 1999. Aps 2000, 4 dgitos.
Este objeto tem a funo de armazenar a data e hora atuais no formato mm/dd/aa hh:mm:ss. Os valores do ms so contados de 0 at 11 e os dias da semana de 0 a 6 da seguinte forma:
0 Janeiro 0 Domingo 1 Fevereiro 1 Segunda 2 Maro 2 Tera 3 Abril 3 Quarta 4 Maio 4 Quinta 5 Junho 5 Sexta 6 Julho 6 Sbado 7 Agosto 8 Setembro 9 Outubro 10 Novembro 11 Dezembro As horas so determinadas de 00:00 s 23:00
O objeto date pode definir data e hora a partir de 1 de janeiro de 1970. Aps a criao do objeto date, o mesmo pode ser usado com qualquer mtodo apresentado anteriormente.
MTODO PARSE E UTC
O mtodo parse retorna o valor de milissegundos a partir de 1 de janeiro de 1970, 00:00:00, j o mtodo UTC faz a mesma coisa, porm no fuso horrio GMT. Vejamos um exemplo da apresentao da quantidade milissegundos contados at o dia 23 de Novembro de 1975.
alert(Date.parse("Nov 23, 1975 GMT"));
Teste e veja se o resultado ser 185932800000 milissegundos contados desde 1 de janeiro de 1970.
Veja outro exemplo de script apresentando na tela a hora atual, dia atual e as horas e minutos atuais.
<HTML> <HEAD> <TITLE>OBJETO DATE</TITLE> <SCRIPT> hoje=new Date(); alert("A hora atual "+hoje.getHours); alert("A dia atual "+hoje.getDay()); alert("Agora so: "+hoje.getHours()+":"+hoje.getMinutes()); </SCRIPT> </HEAD>
MTODOS SET DO OBJETO DATE
Os mtodos setDate, SetDay entre outros, permitem ao usurio definir a data e a hora de um objeto date. Estes mtodos so utilizados da mesma forma dos mtodos get. Vejamos a relao destes mtodos:
MTODOS DESCRIO setDate Dia da semana (0 para Domingo). setHours Horas (0 a 23). setMinutes Minutos (0 a 59). setMonth Ms do ano. setSeconds Segundos (0 a 59). setTime Milissegundos de 1 de janeiro de 1990. setYear Ano.
MTODO TOGMTSCRING
A definio de GMT Greenwich Mean Time, que define o fuso horrio internacional padro para configurao de relgios. Este mtodo faz a converso de um objeto date para uma string usando convenes GMT.
Veja pelo exemplo a seguir, a converso da hora atual em uma string no formato GMT. Certifique-se que o computador esteja com a definio de fuso- horrio correta.
alert(data.toGMTString());
O resultado, ser a criao de uma string no formato:
Fri, 21 Sep 2001 20:53:44 UTC
MTODO TOLOCALESTRING
O mtodo toLocaleString tem a funo de formatar a data e a hora usando as convenes de string no computador local. Por exemplo: USA, Reino Unido, Frana, Alemanha, entre outros. A idia principal deste mtodo apresentar ao usurio a data e hora de forma que o mesmo possa interpretar de maneira simples na pgina, mesmo estando fora de sua localidade. Veja o exemplo de utilizao deste mtodo:
alert(data.toLocaleString());
O resultado esperado, ser similar ao formato: 09/21/2001 17:58:03
Vejamos agora um exemplo que ir apresentar um relgio digital na barra de status que far a hora se atualizar de um em um segundo. Analise o cdigo apresentado abaixo:
Crie um script que apresente a data atual do computador na tela e em seguida exiba as horas, minutos e segundos atuais.
Crie um script que exiba o nmero do dia da semana, assim como, o nmero do ms atual.
Crie um script que exiba na tela a data e hora atuais no seguinte formato:
Agora so: hh:mm:ss do dia dd-mm-yy
Crie um script que apresente a data e hora no formato do fuso horrio default.
Altere este script fazendo a data e hora apresentarem-se no formato atual do fuso horrio local.
Crie um script que apresente na pgina a seguinte condio:
Se horas for menor que 12h, exiba BOM DIA; Se horas estiver entre 12h e 18h, exiba: BOA TARDE; Se horas estiver entre 00h e 05h, exiba: BOA MADRUGADA.
Crie um script que apresente na barra de status a data e as horas sendo atualizado de 1 em 1 segundo. Veja o formato a ser apresentado na barra de status:
Segunda-feira, 23 de Novembro de 2001. Agora so: hh:mm:ss OBJETO DOCUMENT OBJETO DOCUMENT OBJETO DOCUMENT OBJETO DOCUMENT
O objeto document responsvel por conter diversas informaes sobre o documento corrente. Veja suas propriedades e eventos utilizados:
PROPRIEDADE
Este objeto uma propriedade do objeto window.
SINTAXE
document.propriedade document.mtodo()
Veja na tabela abaixo a lista de propriedades do objeto document.
PROPRIEDADES DO OBJETO DOCUMENT
PROPRIEDADES DESCRIO alinkColor Especifica o valor do atributo ALINK, que determina a cor do link acionado. anchors[] Lista todas as ncoras em um documento. bgColor Especifica o valor do atributo BGCOLOR, que determina a cor de fundo da pgina. cookie Especifica uma string contendo uma parte da informao que armazenado no micro do usurio. defaultStatus Especifica um texto para a barra de status do navegador. fgColor Especifica o valor do atributo TEXT, que apresenta a cor dos textos presentes no documento. forms[] Array que contm todos os formulrios do documento. lastModified Apresenta a data da ltima modificao feita no documento. linkColor Especifica o valor do atributo LINK, que determina a cor dos links no visitados. links[] Array que contm os hiperlinks do documento. location Especifica a URL completa do documento corrente. referrer Especifica a URL que originou o documento corrente. status Especifica o texto atual da barra de status do navegador. title Especifica o valor do atributo TITLE do documento. vlinkColor Especifica o valor do atributo VLINK, que determina a cor dos links visitados.
Assim como ao abrir uma janela do browser, criado um objeto chamado window, com ele tambm criado um objeto denominado document. Grande parte dos objetos em uma pgina so diretamente propriedades do objeto document, um exemplo claro disto o objeto form que possui vrias propriedades, porm ele mesmo uma propriedade do objeto document. Veja a seguir a utilizao de algumas das propriedades apresentadas:
Neste exemplo apresetnada uma mensagem de alerta que exibe o cdigo HEXADECIMAL da cor de fundo definida para a pgina.
<script> alert(document.bgColor); </script>
No exemplo a seguir foi usada a propriedade bgColor no evento onMouseover que mudar a cor de fundo do documento assim que o ponteiro do mouse passar sobre o nome de uma cor
Veja a relao dos mtodos utilizados no objeto document.
MTODO DESCRIO clear Limpa a janela (window). close Fecha o documento atual. write Permite a incluso de texto no corpo do documento. writeln Permite a incluso de texto no corpo do documento com um caractere de nova linha anexado.
MTODO CLEAR
Com o mtodo clear() do objeto document possvel ao usurio limpar o contedo de uma janela.
IMPORTANTE: bom saber que este mtodo no funciona no Internet Explorer, sendo compatvel apenas para o Netscape a partir de sua verso 2. Veja um exemplo de utilizao deste mtodo:
<html> <head><title>MTODO CLEAR</title></head>
<body> Texto incluso no corpo de um documento HTML. <input type=button name="teste" value="Limpar Pgina!" onClick="document.clear()" </body> </html>
MTODO CLOSE
O mtodo close() do objeto document diferente do mtodo clear() tem como finalidade fechar o documento, sendo utilizado hoje em dia pelo objeto window, seu uso tambm restrito apenas para algumas verses do Netscape.
IMPORTANTE: bom saber que este mtodo no funciona no Internet Explorer, sendo compatvel apenas para o Netscape a partir de sua verso 2. Veja um exemplo de utilizao deste mtodo:
MTODO WRITE E WRITELN
Estes mtodos permitem a insero de texto em documento. Estes mtodos so bem similares, diferenciando-se que o mtodo writeln acrescenta um caractere de nova linha ao final de uma string. Normalmente este caractere ignorado pela linguagem HTML, com exceo dos Tags <PRE> e <TEXTAREA>. certo que o mtodo mais utilizado em JavaScript o mtodo write do objeto document. Sua sintaxe bsica tem a seguinte composio: document.write(texto); document.writeln(texto);
Caso o texto seja uma string, o mesmo dever estar entre aspas. Com estes mtodos o usurio poder criar uma pgina inteira utilizando o JavaScript. Mas caso seja da pretenso do usurio incluir nestes textos tags HTML, basta utiliz-los envolvendo o texto em questo veja pelo exemplo a seguir:
document.write("<TITLE>Bem Vindo</TITLE>"); document.write("<H1>Obrigado pela Visita</H1>"); document.write("<TEXTAREA>SENAC"); document.write("Informtica</TEXTAREA>");
Observe agora o uso do mtodo writeln que permitira ao texto criado no tag <TEXTAREA> a quebra de linha entre eles:
Veja outro exemplo a seguir da apresentao de um clculo sendo exibido atravs do mtodo write.
<SCRIPT> document.write("O resultado de 5+2 : ",5+2); </script>
Veja pelo exemplo anterior que o clculo foi separado da string com uma vrgula, com isto, o browser entende que dever efetuar o mesmo e apresentar o seu resultado no documento.
EXERCCIOS
Crie em uma pgina HTML um script que mostre em uma caixa de alerta a cor de fundo da pgina.
Crie um script que exiba uma caixa de alerta que mostre a data da ltima modificao.
Crie um script que exiba uma caixa de alerta que mostre URL completa da pgina.
Crie um script que exiba uma caixa de alerta que mostre o ttulo presente na barra de ttulo.
Crie um arquivo externo com a extenso .JS e desenvolva o seguinte script:
Crie um script que apresente no documento corrente, a data da ltima modificao feita no mesmo. Crie uma pgina HTML e faa uma chamada para o arquivo .JS que contm o arquivo. Observe em qual dos dois arquivos feita a atualizao da data aps a sua alterao.
Atravs da linguagem HTML, atribua uma cor slida qualquer como fundo da pgina. Feito isto, faa um script que apresente escrito na pgina o cdigo HEXADECIMAL da cor de fundo definida.
Crie um script sobre esta pgina que quando o usurio sair da mesma, seja exibida uma mensagem de alerta para o usurio.
Crie um script que apresente no corpo do documento o seu nome completo e no mesmo script apresente Tags HTML em negrito, fonte e cor. Crie um script que seja apresentado no documento a Data e Hora atuais no seguinte formato:
Seja Bem Vindo Minha Home Page! Agora so: hh:mm, do dia dd/mm/aa
Crie um script que quando a pgina for carregada execute uma funo chamada TESTE() que possui uma rotina que exibe uma caixa de alerta com o texto: Obrigado pelo Sua Visita.
Crie um SCRIPT que ao abrir a pgina, seja solicitado a digitao do nome do usurio, dentro desta funo, crie uma condio que enquanto o nome no for digitado, seja solicitado continuamente.
E nesta mesma funo, crie uma rotina que quando o tamanho do nome em caracteres for superior 10, seja exibida uma caixa de alerta informando quantidade de caracteres que o nome possui. Em seguida, outro alerta avisando que somente aceitvel nomes at 10 caracteres. Com isto, faa-o retornar ao incio da funo criada.
Crie uma pgina HTML com qualquer texto sendo feito sem o cdigo JavaScript
Nesta mesma pgina crie quatro botes de formulrio cada um com o nome de uma cor qualquer.
Faa com que ao clicar sobre um dos botes, seja alterado a cor de fundo da pgina.
Crie nesta mesma pgina mais quatro botes cada um com o nome das cores j utilizadas nos primeiros quatro botes.
Para estes botes, faa com que ao clicar sobre um deles seja alterada a cor do texto da pgina.
Crie uma funo que ao abrir a pgina, seja solicitado entrada de um nmero de 1 at 20. Em seguida a entrada de outro nmero de 1 at 20. Caso seja digitado um valor superior 20. Seja exibido um alerta informando que o nmero x superior 20.
Continuando a questo anterior, faa com que no corpo da pgina, seja exibido o texto: A multiplicao do nmero: x com o nmero y resulta em: x*y. Faa com que o resultado seja apresentado em vermelho. Crie uma pgina com dois hiperlinks com os textos SENAC-MG (www.mg.senac.br) e SENAC-BRASIL (www.senac.br).
Faa com que ao movimentar o ponteiro do mouse sobre um dos hiperlinks criados. Seja exibida uma segunda janela apenas com barra de status apenas e com dimenses 300x300 pixels.
Faa com que estas janelas apresentem os seguintes textos:
Janela do SENAC-MG Portal de Servios do SENAC Minas.
Janela do SENAC-BRASIL Portal de Informaes do Senac Brasileiro.
Determine que quando o ponteiro estiver fora do hiperlink, as janelas respectivas sejam fechadas. Criar um script que ao carregar a pgina, seja solicitado as informaes: NOME, PESO, ALTURA, COR DOS OLHOS, COR DOS CABELOS, SEXO.
Para o campo Cor dos Olhos, o usurio poder digitar apenas as opes: AZUIS, CASTANHOS, VERDES, OUTRA.
Para o campo Cor dos Cabelos, o usurio poder digitar apenas as opes: LOIROS, CASTANHOS, RUIVOS, OUTRA.
Para o campo Sexo, o usurio poder digitar apenas os dados MASCULINO ou FEMININO.
Faa com que os valores digitados sejam apresentados no corpo da pgina, sendo que os dados alfanumricos sejam apresentados em letras maisculas.
Crie uma pgina HTML sem contedo.
Crie um arquivo externo com um script que solicite a digitao do nome do usurio, e em seguida, solicite o nome de uma cor.
Crie dentro deste script uma rotina condicional que se a cor for igual azul, a pgina HTML, dever possuir a cor azul como fundo, caso a cor seja igual verde, a pgina HTML dever assumir a cor verde, caso cor seja igual vermelho, a pgina HTML dever assumir a cor vermelha e caso cor seja igual amarelo, a pgina HTML dever assumir a cor amarela no fundo.
Feito isto, faa com que na pgina HTML, seja mostrado o cdigo HEXADECIMAL da cor assumida.
OBJETO LINK OBJETO LINK OBJETO LINK OBJETO LINK
PROPRIEDADES DO OBJETO LINKS
PROPRIEDADES DESCRIO hash Especifica o texto seguido da simbologia # em um URL. host Contm o hostname:port de um URL. hostname Especifica o host e o domnio (endereo IP) de um URL. href Especifica o URL inteiro. length Determina o nmero de ncoras de um documento. pathname O path atual do URL. port Especifica a porta lgica de comunicao obtida da URL. protocol Especifica o protocolo da URL. search Especifica a poro search da URL. target Determina o link de destino. UTILIZANDO ARRAYS UTILIZANDO ARRAYS UTILIZANDO ARRAYS UTILIZANDO ARRAYS
Primeiramente, saiba que um ARRAY um grupo de itens que so tratados como uma nica unidade. Um exemplo disto, o grupo de meses do ano estarem dentro de um array chamado meses. Os elementos de um array podem ser strings, nmeros, objetos ou outros tipos de dados.
Para que se possa declarar um array, use a seguinte sintaxe:
NomeArray = new Array(numElementos)
Veja como declarar um array chamado meses e seus elementos.
Meses = new Array(12)
Outra maneira, declarar os valores para o novo array criado. Observe a sintaxe abaixo:
Meses = new Array(janeiro,fevereiro,maro,abril,maio, ...)
Quando atribudo o nmero de elementos no array, necessrio declarar os elementos que faro parte do mesmo. Utilize a seguinte sintaxe:
NomeArray[numElemento]
Meses[0]=janeiro Meses[1]=Fevereiro Meses[2]=maro E assim por diante...
document.write("Hoje : ",semana[hoje.getDay()],",",meses[hoje.getMonth()]," de ", hoje.getYear()) </SCRIPT>
Neste exemplo foi declarado uma varivel chamada hoje que define seu contedo como valores de data e criados dois arrays, o primeiro chamado semana e o outro chamado meses. Cada um dos arrays possui como contedo os dias da semana e os meses do ano.
Finalizando, foi utilizado o objeto document.write que apresentar a varivel hoje com o array correspondente da varivel semana de acordo com seu mtodo getDay() que apresenta o valor especificado do dia da semana. Ocorrendo o mesmo com a varivel meses para os meses do ano.
Veja agora outro exemplo da utilizao dos arrays fazendo com que seja criado vrios campos de formulrio de acordo com a quantidade definida pelo usurio. Neste exemplo quando o usurio carrega a pgina solicitado a quantidade de campos que deseja criar, para isto foi definido o seguinte cdigo:
<form name="form1"> <script> nome=prompt("digite a quantidade","");
Em seguida foi criado um lao for que caso o valor da varivel i for menor que a quantidade referenciada na varivel nome, ser incrementado o valor de nome dentro da varivel i. analise o cdigo a seguir:
Para a execuo do lao foi definido que ser criado no documento atual um campo de formulrio do tipo texto e a varivel de cada campo criado que aqui chamada de campo, receber cada uma o valor de i cada vez que o lao se repete. Com isto sero criados os campos cada um nomeado da seguinte forma:
Se o usurio informar 5 campos, sero criados cinco campos cada um chamado de: campo0, campo1, campo2, campo3, campo4. Lembre-se que um array sempre inicia-se a partir de 0. faa um teste e veja o resultado obtido.
Criaremos agora fora do script um boto de formulrio que ao clicar sobre ele, ser exibido em um caixa de alerta o valor que o usurio digitou em um determinado campo. Analise o cdigo a seguir:
Aps anlise do cdigo anterior, crie uma rotina que faa com que quando o usurio deixar a varivel nome vazia ou nula, seja solicitado novamente a digitao do valor e que as variveis criadas apresentem valores partir de 1 e no de 0.
ARRAY ANCHORS[]
Este array lista todas as ncoras existentes em um documento. Este objeto possui a propriedade length e uma propriedade do objeto document.
SINTAXE:
document.anchors.length
Veja um exemplo de um script que informar a quantidade de ncoras existentes no documento.
No script apresentado, foi definido na pgina quatro ncoras a partir do tag HTML <A NAME> e em seguida j no script, foi criada a varivel ancoras que contar a quantidade de ncoras existentes na pgina atravs da propriedade length e logo depois, executado a instruo alert que tem a funo de exibir uma mensagem na tela informando o contedo da varivel ancoras.
ARRAY ELEMENTS[]
O array elements[] tem a finalidade de listar todos os controles de um formulrio. Sua sintaxe tem a seguinte formao:
document.NomeForm.elements[x].propriedade;
document.NomeForm.elements.length;
x o nmero de elementos presentes dentro do formulrio tambm iniciado com zero.
No exemplo a seguir, foi criado um cdigo que tem a funo de selecionar uma lista de caixas de verificao de um formulrio quando acionado um boto. Observe o cdigo:
<script> function seleciona(){ itens=document.form1.elements; for(i=0;i<itens.length;i++){ document.form1.elements[i].checked=true; } } function tira(){ itens=document.form1.elements; for(i=0;i<itens.length;i++){ document.form1.elements[i].checked=false; } } </script>
Neste exemplo, foi criado uma funo chamada seleciona() que cria uma varivel que receber os elementos do formulrio form1. Em seguida, foi criado um lao for que somar a varivel i a quantidade de elementos presentes no formulrio, onde cada elemento dever receber para sua propriedade checked o valor verdadeiro, ou seja, selecionar a caixa de verificao.
Logo mais, foi criada uma funo chamada tira() que tem a funo contrria da funo seleciona(). Faa um teste e veja o que acontece.
No script abaixo apresentado uma funo que exibe o dia da semana mais as horas sendo atualizadas de um em um segundo:
Crie um evento sobre cada hiperlink que faa com que sempre que o usurio movimentar o ponteiro do mouse sobre o link, seja exibida uma mensagem na barra de status.
Crie outro evento sobre cada hiperlink que faa com que ao usurio movimentar o ponteiro do mouse para fora do hiperlink, seja exibida outra mensagem.
Crie um evento no corpo desta pgina para que quando o usurio deixar a pgina, seja exibida uma caixa de alerta com a mensagem Prazer em Conhec-lo.
Utilize o evento onClick para exibir uma mensagem quando o usurio clicar com o boto do mouse sobre cada um dos hiperlinks.
Defina uma segunda ao para o evento onClick de cada hiperlink, fazendo-os exibir outra mensagem de alerta com o seguinte texto:
Como j conhecido na linguagem HTML, os frames so divises entre pginas que so visualizadas pelo navegador, cada frame tambm chamado de quadro que podem ser em linhas ou colunas e possuir tamanhos variados. Este recurso muito til para fazer uma pgina de ndice onde o usurio escolhe um determinado link no menu e visualiza seu contedo em outro quadro presente no navegador, sem a necessidade de sair do menu.
Teoricamente, os frames visualmente parecem simples de criar, porm so bastante complexos que podem fazer com que o usurio se confunda dependendo do projeto que esteja desenvolvendo. Espero que voc tenha aprendido isto de forma clara e praticado bastante este recurso, porque inicialmente parece bem confuso, por isso, pratique mesmo a sua utilizao para que seu entendimento seja claro.
Pois bem, como j sabido, os frames possuem uma estrutura nica que no mostra nada na sua pgina, sua funo bsica dividir a tela da sua maneira e exibir em cada quadro uma pgina especfica, portanto, esta pgina no possui corpo. O tag de corpo de uma pgina de frame substitudo pelo tag de configurao de frames chamado <FRAMESET>. Vejamos a seguir um bem simples de utilizao de frames:
Neste exemplo foi criado um frame de duas colunas onde a primeira possui 30% de largura do navegador e a segunda o restante. Em seguida, definiu-se atravs do tag <FRAME SRC=> os arquivos que iriam aparecer em cada frame assim que a pgina fosse carregada, dando a seguinte apresentao:
Um detalhe importante na utilizao de scripts em pginas com frames, a nomeao dos frames atravs do atributo NAME, no exemplo anterior os dois frames criados foram chamados de frame1 e frame2.
HIERARQUIA FRAMESET WINDOW
bom saber que, cada frame considerado uma janela separada para o navegador, em razo de cada uma possuir seu prprio cdigo HTML. Estas janelas de frame estaro sempre subordinadas pela janela principal, aquela que contm o tag <FRAMESET>. Como dito anteriormente, esta janela no possui corpo sua funo dividir a tela e mostrar suas pginas filho. Entenda ento que a pgina que contm o tag <FRAMESET> a pgina PAI, enquanto que as que esto subordinadas ela so as pginas FILHO.
Caso o usurio faa diversos frames aninhados, sero apresentadas janelas netas que so subordinadas as janelas do frame-filho, com isto temos a seguinte sintaxe no JavaScript:
parent.filho.neto
Concluindo, a pgina filho nome da janela que est subordinada a janela principal, a do frameset (pai). J a pgina neto o nome de uma janela que est subordinada sob a janela de frame-filho. PAI (Frameset)
FILHO FRAME 1 FRAME 2 FRAME 3
Vejamos a utilizao de cdigo JavaScript para o gerenciamento dos frames dividindo o navegador em 4 frames nomeados da seguinte forma: frame1, frame2, frame3 e frame4 conforme exemplo mostrado na figura a seguir:
Com este cdigo teremos a seguinte estrutura visualizada no navegador:
Criaremos agora um arquivo de controle para nosso frame que possuir algumas instrues JavaScript. No exemplo do cdigo seguir, trocaremos o frame superior esquerdo por esta pgina desenvolvida, veja o resultado na prxima figura:
<HTML> <HEAD> <SCRIPT> function checaFrame(frameNum){ if (frameNum==1){ alert(parent.controle.name); }else if(frameNum==2){ alert(parent.segundo.name); }else if(frameNum==3){ alert(parent.terceiro.name); }else if(frameNum==4){ alert(parent.quarto.name); } }
Abrindo novamente o arquivo principal dos frames, esta nova pgina chamada controle.html, ser aberta no primeiro frame, observe pelo exemplo da figura a seguir:
Analisando nosso controle, foi criado trs funes, cada qual com suas rotinas a serem executadas, vejamos os detalhes destas funes:
Funo checaFrame()
Nesta funo foi solicitado que caso o usurio clique em um boto que est chamando a funo, ser aberta uma mensagem de alerta com o nome do frame atual definido no arquivo do frameset. Isto foi possvel pela linha de cdigo:
alert(parent.nomeFrame.name);
O objeto parent, especifica o documento que possui o frameset. A propriedade nomeFrame, especifica o frame que est sendo referenciado. A propriedade name define o nome para esta janela.
Funo escreveFrame()
Esta funo que tambm chamada com o clique sobre um boto de formulrio ir permitir que o usurio possa escreve algum texto em um frame especfico, isto possvel atravs do cdigo:
parent.nomeFrame.document.write("<br>Este um Frame");
O objeto parent, especifica o documento que possui o frameset. A propriedade nomeFrame, especifica o frame que est sendo referenciado. A propriedade document define a janela especificada. O mtodo write foi usado para escrever no documento especificado.
Funo limpaFrame()
J esta funo permite que o usurio ao clicar em um boto limpe o contedo de todos os frames presentes. O cdigo que permite esta ao :
for (i=1;i<4;i++){ parent.frames[i].document.close(); parent.frames[i].document.open(); parent.frames[i].document.writeln(""); }
Neste cdigo foi manipulado todos os frames fazendo o uso do array frames[]. Analisando este cdigo:
O objeto parent, especifica o documento que possui o frameset. frames[] um array. document define a janela especificada. close, open so mtodos para o documento da janela de frames.
Cada elemento do array frames[] contm um frame. feita a contagem em 0 para o primeiro frame, 1 para o segundo, 2 para o terceiro. Para que no seja omitido o frame que possui o controle, veja que a contagem foi iniciada em um, em razo do frame de controle ser o primeiro ele assume zero e conta at 3. Cada frame limpo em cada lao da instruo for.
OBJETO FORM OBJETO FORM OBJETO FORM OBJETO FORM
Atravs do objeto form da linguagem JavaScript o usurio poder interagir melhor com seus dados inseridos pelos recursos de formulrios existentes na linguagem HTML, entre eles temos os campos checkbox, radio e listas de seleo. O formulrio e seus objetos podem ser facilmente manipulados atravs de scripts. Formulrios tambm podem ser usados com um programa CGI em um servidor ou para validao de dados.
PROPRIEDADE
Este objeto uma propriedade do objeto document.
Veja na tabela abaixo a relao das propriedades do objeto form.
PROPRIEDADES DO OBJETO FORMS
PROPRIEDADES DESCRIO Action Especifica a URL do servidor onde as variveis do formulrio so enviadas. defaultChecked Estado de seleo de uma caixa de verificao de um boto de opo. defaultSelected Seleo atual de lista de opes. defaultValue Valor padro da caixa de texto ou rea de texto em um formulrio. checked Estado padro de um checkbox ou botes do tipo radio em um formulrio. elements[] Lista os elementos existentes do formulrio. encoding Formato de cdigo MIME para o formulrio. form Objeto de formulrio. index Especifica uma opo de uma lista de seleo (select) em um formulrio. length Especifica o nmero de itens de uma lista. method Mtodo que determina como as informaes do formulrio sero processadas atravs dos valores GET ou POST. Name Nomeia um objeto do formulrio. options[] Lista de opes de uma lista (select) dentro do formulrio. selected Estado atual de uma caixa de verificao ou um boto de opo (radio). selectedIndex Determina a opo selecionada de uma lista de seleo (select) dentro do formulrio. target Especifica um alvo. text Especifica o texto de uma opo (option) de uma lista de seleo (select) do formulrio. value Nome dado ao texto de uma caixa de texto ou rea de texto (text e areatext).
SINTAXE
document.NomeFormulrio.propriedade
MTODOS DO OBJETO FORM
MTODO DESCRIO blur() Quando remove o foco de um campo do tipo text, textarea e campos de senha password. click() Quando dado um clique sobre um elemento de boto em formulrio ou campos do tipo radio e checkbox. focus() Quando dado o foco sobre um campo do tipo text, textarea e campos de senha password. select() Quando selecionado o contedo de um campo do tipo text, textarea ou password. submit() Quando o formulrio enviado ao servidor.
ELEMENTOS DE UM FORMULRIO
J sabemos que em um formulrio temos diferentes componentes que auxiliam a entrada de dados do usurio. Destacamos:
Button Checkbox Hidden Password Radio Reset Select Submit Text TextArea
Todos estes componentes apresentados, j estamos familiarizados no uso da linguagem HTML.
OBJETO TEXT
Sabemos que se pode criar campos de preenchimento de textos com o uso do formulrio, e atravs da linguagem JavaScript possvel a manipulao dos dados digitados para este campo com o uso do objeto TEXT. Sua sintaxe geral :
document.nomeForm.nomeText.propriedade
Veja abaixo a relao das propriedades existentes para o objeto TEXT:
PROPRIEDADES DESCRIO DefaultValue Determina o valor padro para a caixa de texto. Name Determina o nome do objeto para a caixa de texto. Value Determina o valor para a caixa de texto.
MANIPULADORES DE EVENTO PARA FORMULRIOS
MTODO EVENTO DESCRIO focus() onFocus Executa uma instruo quando o dado o foco sobre o campo de texto. blur() onBlur Executa uma instruo quando retirado o foco sobre o campo de texto. select() onSelect Executa uma instruo quando o contedo da caixa de texto selecionado.
Vejamos um exemplo JavaScript que quando o usurio retirar o foco da caixa de texto, ser exibida uma mensagem informando para no deixar o campo em branco e em outro situao aps o preenchimento do campo em letras minsculas seu contedo ser convertido para letras maisculas:
<HTML> <HEAD> <TITLE>CHECAGEM DE DADOS</TITLE> <script> function requer(texto){ if (texto==""){ alert("Favor preencher o campo!") document.form1.nome.focus() } } </script> </head> <body> <form name="form1"> <pre> Digite seu Nome: <input type="text" name="nome" onChange="this.value=this.value.toUpperCase()" onFocus="this.select()" onBlur="requer(this.value)"> Digite seu Sobrenome: <input type="text" name="sobrenome" onFocus="this.select()"> </form> </body></html>
No script apresentado, fora criado uma funo que determina se o usurio deixar o campo de preenchimento em branco ser exibida uma mensagem avisando-o. J no corpo, temos dois campos de texto que utiliza o evento onChange que ir colocar o contedo do campo texto em letras maisculas e o evento onBlur que executa a funo requer criada no incio do documento. Temos tambm o evento onFocus que seleciona o contedo do campo quando o usurio utiliza a tecla TAB.
Veja o resultado na figura seguir, quando o usurio deixa o campo em branco:
Vejamos um exemplo prtico que permite que quando o usurio deixa um campo vazio exibida uma mensagem de alerta e o cursor continua presente dentro do campo de texto:
function verifica(texto){ if(texto==""){ alert("No deixe em branco"); return(form1.nome.focus());
Esta funo ir testar o valor da varivel texto que caso esteja vazio exibido um alerta e o foco retorna para dentro do campo de texto. Veja o cdigo que chama a funo no campo de formulrio:
A chamada da funo feita quando o usurio retira o foco do campo que executa a funo verifica que armazena o valor atual do campo. Havendo vrios campos que so de preenchimento obrigatrio, esta funo poder ser reutilizada.
OBJETO PASSWORD
Este objeto permite ao usurio controlar campos de preenchimento de SENHA. Sua sintaxe :
document.nomeForm.campoSenha.propriedade
As propriedades e mtodos deste objeto, so os mesmos do objeto TEXT apresentados anteriormente.
OBJETO TEXTAREA
Este objeto tem como objetivo a criao de reas de texto composta por vrias linhas. Sua sintaxe :
document.nomeForm.campoTextArea.propriedade
Suas propriedades, mtodos e eventos equivalem as mesmas do objeto TEXT.
OBJETO BUTTON
J utilizado, sabemos que este objeto representa os botes criados em um formulrio onde atribumos aes especficas. Sua sintaxe tem a seguinte formao:
document.nomeForm.nomeButton.propriedade
MTODO EVENTO DESCRIO click() onClick Executa uma instruo quando o dado um clique sobre o boto.
Veja pelo exemplo do script a seguir a exibio de uma mensagem de alerta informando o que foi digitado na caixa de texto assim que o usurio pressiona um boto:
Como j sabido, este objeto controla o boto responsvel pelo envio dos dados de um formulrio. Suas propriedades, mtodos e eventos so equivalentes as do objeto BUTTON. Sua sintaxe bsica tem a seguinte formao:
documet.nomeForm.ButtonSubmit.propriedade
Veja no exemplo a seguir um script que verificar se determinado campo foi preenchido, caso no tenha sido preenchido o JavaScript no envira o formulrio:
<html> <head> <script> function envia(){ if (form1.campo1.value==""){ alert("Campo em Branco"); return(false); } else { return(true); } } </script> </head> <body bgcolor="yellow"> <form name="form1"> <pre> Digite seu Nome: <input type="text" name="campo1"> <input type="submit" value="Clique Aqui" onClick="envia()"> </form>
OBJETO RESET
Responsvel pelo boto que retorna qualquer elemento de um formulrio para seus valores default. Suas propriedades, mtodos e eventos so equivalentes as do objeto BUTTON. Sua sintaxe :
document.nomeForm.ButtonReset.propriedade
OBJETO CHECKBOX (Caixa de Verificao)
Este objeto cria uma lista onde o usurio poder marcar vrias opes. Sua sintaxe equivalente as dos objetos de formulrio anteriormente apresentadas.
PROPRIEDADE
Este objeto uma propriedade do objeto form.
Veja abaixo a relao das propriedades existentes para o objeto CHECKBOX:
PROPRIEDADES DESCRIO name Contm o contedo do atributo name. value Contm o valor on ou off que determina o estado da caixa. status Valor booleano que determina o estado da caixa, selecionado (True) ou no selecionado (False). defaultStatus Valor booleano que indica se o estado padro do boto definido pelo atributo checked.
MANIPULADORES DE EVENTO
MTODO EVENTO DESCRIO click() onClick Executa uma instruo assim que o usurio clica sobre o elemento.
Os botes de formulrio do tipo CHECKBOX so botes que o usurio pode ativar e desativar. O atributo checked determina o estado default da caixa de verificao. Esta propriedade assume valores booleanos, quando ativada assume o valor true e desativada o valor false. Vejamos um exemplo:
Veja um outro exemplo de utilizao do objeto checkbox:
function teste(){ if (form1.caixa1.checked){ form1.campo1.value="caixa1" } else if (form1.caixa2.checked){ form1.campo1.value="caixa2" } else if (form1.caixa3.checked){ form1.campo1.value="caixa3" } } </script> </head> <body bgcolor="yellow"> <form name="form1"> <pre> Digite seu Nome: <input type="text" name="campo1"> <input type="submit" value="Clique Aqui" onClick="envia()"> <input type="checkbox" name="caixa1" onClick="teste()">caixa1 <input type="checkbox" name="caixa2" onClick="teste()">caixa2 <input type="checkbox" name="caixa3" onClick="teste()">caixa3 </form>
OBJETO RADIO
Similar ao objeto CHECKBOX, este objeto cria uma lista de opes, onde o usurio poder escolher apenas uma nica opo. Sua sintaxe, segue os mesmos parmetros dos objetos anteriores. Vejamos a relao de suas propriedades, mtodos e eventos:
Veja agora a utilizao de um script no uso do objeto radio do formulrio:
function acessa(){ if (form1.senacmg.checked){ window.location.href("http://www.mg.senac.br"); }else if (form1.senacbr.checked){ window.location.href("http://www.senac.br"); } } </script> <form name="form1"> <pre> <input type="radio" name="senacmg" onClick="acessa()">SENAC-MG <input type="radio" name="senacbr" onClick="acessa()">SENAC BRASIL
Vejamos agora outro exemplo que apresenta a soma de valores de acordo com o que o usurio seleciona. Faa um teste com o cdigo abaixo:
<INPUT TYPE="BUTTON" VALUE="Calcular total" onClick="precoTotal()"> <INPUT TYPE="TEXT" NAME="total" SIZE=50> </FORM> <SCRIPT LANGUAGE="JavaScript"> var massa; var ticado = false; function fina(){ massa="massa fina"; ticado=true; } function grossa(){ massa= "massa grossa"; ticado=true; } function precoTotal(){ if(!ticado){ alert("SELECIONE UM TIPO DE MASSA!"); } else{ var tot=10.00; if(document.fm1.queijo.checked){ tot=tot+1.30; } if(document.fm1.calab.checked){ tot=tot+2.50; } if(document.fm1.ovoceb.checked){ tot=tot+0.70; } ts= new String(tot); tss=ts.replace(".",","); if(tss.lastIndexOf(",")>0){ document.fm1.total.value="Sua pizza de "+massa+" custa: "+tss+"0 reais"; } else{ document.fm1.total.value="Sua pizza de "+massa+" custa: "+tss+" reais"; } } } </SCRIPT> OBJETO SELECT
Muito comum, este objeto representa uma lista de opes que o usurio poder selecionar. Com o objeto SELECT, o usurio poder determinar uma seleo nica ou mltipla.
Este objeto ir permitir ao usurio controlar os itens de uma lista de opes criada com o tag HTML <SELECT>. Veja um exemplo de utilizao do objeto select.
function itens(){ alert(form1.lista.selectedIndex); } </script> <form name="form1"> <pre> <select name="lista"> <option>Item 0 <option>Item 1 <option>Item 2 <option>Item 3 <option>Item 4 </select> <input type="button" onClick="itens()" value="veja"> A propriedade selectedIndex informa qual dos itens da lista de seleo foi selecionado pelo usurio. Veja abaixo outro exemplo que ao usurio selecionar um dos itens o valor da opo redireciona para uma determinada URL:
function acessa(texto){ window.location.href=texto; }
Foi criada uma funo que possui uma varivel como argumento que armazenar o valor de uma opo da lista de seleo.
J na pgina, foi criada uma lista de seleo que ao alterar o valor da varivel lista, a funo acessa ir armazenar na sua varivel (texto) o valor da opo selecionada da lista. Veja que foi definido como valor de cada opo na lista de seleo um endereo especfico que ser enviado para a varivel da funo que ser usado como hiperlink na janela do browser.
EVITANDO O USO DA TECLA ENTER
Normalmente na maioria dos formulrios, caso o usurio estando em algum dos campos presentes, ao pressionar a tecla ENTER, o mesmo enviado imediatamente, muitos usurios se perdem na navegao quando este problema ocorre dependendo da situao. Atravs do JavaScript possvel ao usurio evitar que o mesmo seja enviado quando se pressiona a tecla ENTER.
claro que este recurso ir cancelar o envio do formulrio mesmo se o usurio clicar sobre o boto de submisso, bastando ao usurio a criao de uma funo que envie o formulrio. Vejamos o cdigo a seguir para este recurso:
Observe que foi usado o evento onSubmit que determina a ao a ser tomada ao enviar o formulrio, foi definido o valor return false que evita que o formulrio seja enviado, mesmo clicando em um boto.
J para que o formulrio seja enviado, foi criado um boto simples de formulrio que ao ser acionado, ser executada a funo envia(this.form) para este formulrio. Na funo foi definido a instruo form.submit() que enviar o formulrio. OBJETO LOCATION
Este objeto bem interessante por conter informaes sobre a URL da pgina. Cada propriedade do objeto LOCATION representa uma parte diferente do endereo. A sintaxe utilizada para este objeto possui a seguinte composio:
Protocolo:hostname:port path seach hash
Vejamos o significado da representao mostrada acima.
PROPRIEDADE DESCRIO Hash Determina nome de ncora. Host Determina parte hostname:port URL Href Determina uma URL Pathname Determina caminho. Port Determina a porta de comunicao que utilizado no servidor para comunicao. Protocol Incio de uma URL. Search Determina uma pesquisa.
Vejamos agora a relao dos tipos de URL conhecidas:
TIPO URL Web http://www.dominio.com.br/ Local File:///disco:/diretrio/pgina html FTP: ftp://ftp.local.com.br/diretrio Mailto: mailto:nome@dominio.com.br UseNet News://news.servidor.com.br Gopher Gopher.servidor.com.br
PROPRIEDADES DO OBJETO LOCATION
Para definir propriedades do objeto Location, siga a seguinte sintaxe:
window.location
Caso o objeto location esteja fazendo referncia a janela corrente, no necessrio utilizar o objeto window. Caso o usurio deseja retornar o URL da janela corrente, basta utilizar o seguinte comando:
location.href; // URL da janela corrente.
location.host; // Parte da URL. Veja um exemplo de um hiperlink usado em um boto de formulrio:
Crie um script que possua um campo de formulrio do tipo Texto que solicite a digitao do nome do usurio e, quando usurio retirar o foco do campo de texto, seja exibida uma caixa de alerta exibindo o texto:
Como vai, <NomeUsurio>
Crie dentro de um script uma funo chamada exibe e como argumento para esta funo, defina a varivel (texto). Desenvolva para esta rotina, uma caixa de alerta que apresente o seguinte texto: Ol visitante texto.
No corpo da pgina, crie um campo de formulrio do tipo texto, que execute a funo atribuindo varivel definida o valor digitado pelo usurio assim que o mesmo retirar o foco do campo de texto.
Crie um formulrio contendo os campos Nome, Endereo, Telefone, CEP, CIDADE, ESTADO.
Crie uma funo que determine para os campos NOME, TELEFONE e CEP preenchimento obrigatrio.
Crie uma funo que determine para o campo telefone o preenchimento de valores nmericos exibindo uma caixa de alerta quando o preenchimento estiver incompatvel.
Crie um script que possua dois campos de formulrio do tipo texto e determine que quando o primeiro campo seja preenchido com algum valor, o segundo campo possa refletir o que a no primeiro campo.
Crie uma rotina neste exemplo que se for digitado um texto em minsculo no primeiro campo o segundo campo apresente o texto em maisculo. Crie um script que possua dois campos de formulrio do tipo texto que ir armazenar valores numricos.
Crie uma funo para este script que multiplique os valores dos dois campos de texto e apresente seu resultado em um terceiro campo quando o mesmo receber um foco pelo usurio. Desenvolva um script que possua trs campos: NOME, ENDEREO e SEXO.
Faa com que quando o usurio retirar o foco do campo, seja exibida uma mensagem de alerta informando-o para no os deixarem em branco.
Crie uma rotina para o campo SEXO para que caso seja digitado valores diferentes de MASCULINO ou FEMININO, seja exibida uma mensagem de alerta que o valor atual no vlido. EX: valor atual no um sexo vlido!. Esta rotina dever ocorrer quando o usurio retirar o foco do campo.
Crie dois campos de formulrio, o primeiro para o preenchimento de um LOGIN do tipo TEXT e o outro do tipo PASSWORD chamado SENHA e um boto de ao.
Crie uma varivel chamada AUTENTICA() que ao clicar sobre o boto caso o login e senha sejam diferentes de aluno e 5245, seja exibida uma caixa de alerta informando que os dados preenchidos so invlidos.
Crie um formulrio com um campo de formulrio do tipo texto. Crie um evento que ao carregar pgina, seja exibida uma mensagem na barra de status e que o cursor aparea posicionado dentro do campo de formulrio.
Crie dois campos de formulrio do tipo texto. Faa com que ao selecionar o texto digitado dentro do campo 1, seja mostrado seu contedo no campo 2.
Crie dois campos de formulrio, sendo o primeiro do tipo password e o segundo do tipo texto. Crie um script que faa com que ao digitar uma senha no primeiro campo seja digitado o que a pessoa digitou. Crie um evento que ao carregar a pgina, o campo senha venha com o cursor posicionado.
Crie um script que seja exibida uma caixa de entrada para o usurio conforme mostrado na figura a seguir:
Faa com que esta caixa seja acionada quando o usurio clicar sobre um boto de formulrio. Defina como texto padro a string: http://.
Faa com que quando o usurio clicar sobre o boto OK, o navegador redirecione para o endereo digitado na caixa.
Crie em uma pgina HTML quatros campos de formulrio do tipo radio e logo mais atribua um evento que faa com que ao escolher um dos botes presentes seja alterado a cor de fundo da pgina, como mostrado no exemplo a seguir:
Azul Vermelho Amarelo Cinza
UTILIZANDO O OBJETO HISTORY
PROPRIEDADES MTODOS EVENTOS length back Nenhum Forward go
PROPRIEDADE
Este objeto uma propriedade do objeto window.
Este objeto como um histrico que contm informaes sobre as URLs que o usurio esteve. Estes endereos ficam armazenados e podem ser acessados partir dos botes VOLTAR e AVANAR do Browser. Ao acessar pginas na Internet, o browser armazena as pginas anteriores em um histrico prprio. Com o objeto HISTORY possvel ao usurio manipular este histrico. Sua sintaxe formada da seguinte forma:
history.propriedade
MTODOS BACK E FORWARD
Os mtodos back e forward representam a funo dos botes de Avanar e Voltar presentes no browser. Veja o exemplo de utilizao destes mtodos:
history.back() // Retorna a URL anterior. history.forward() // Retorna a URL posterior.
MTODO GO
O mtodo go permite a especificao de uma URL do histrico, basta fornecer o nmero da URL que deseja ir. Veja pelo exemplo a seguir o deslocamento para a quarta URL anterior:
history.go(-4) // Vai para a quarta URL anterior. History.go(5) // Vai para a quinta URL a frente.
Dentre os mtodos utilizados o mtodo go mais verstil por ser utilizado para controlar o histrico amplamente.
Este objeto possui informaes sobre o navegador utilizado pelo usurio como, verso e nome do mesmo. Para utilizar suas propriedades, deve-se seguir a seguinte sintaxe:
navigator.propriedade
Vejamos a relao de suas propriedades:
PROPRIEDADES DO OBJETO NAVIGATOR
PROPRIEDADE DESCRIO appCodeName Especifica o codinome do navegador utilizado. appName Especifica o nome do navegador utilizado. appVersion Especifica a verso do navegador utilizado. userAgent Especifica uma string do vendedor do navegador.
Vejamos agora um exemplo que mostrar informaes sobre o navegador utilizado.
<HTML> <HEAD> <TITLE>NAVEGADOR</TITLE> </HEAD> <script> document.write("O navegador utilizado o "+navigator.appName+"<br>") document.write("A verso deste navegador "+navigator.appVersion) </script>
</body> </html>
veja o resultado deste script pela figura a seguir:
ACESSANDO CDIGO-FONTE A PARTIR DE UM LINK
Alguns usurios para facilitar a visualizao do cdigo-fonte de sua pgina, criam hiperlinks que fazem com que seus visitantes tenham uma maneira mais simples de visualizar seu cdigo. Veja o exemplo a seguir:
<script> function openWin(){ location="view-source:"+window.location; } </script> <body> <a href="#" onClick="openWin()">Veja o cdigo desta pgina</a>
UTILIZANDO COOKIES UTILIZANDO COOKIES UTILIZANDO COOKIES UTILIZANDO COOKIES
Quem nunca ouviu falar em cookies? Um termo muito falado para os usurios que trabalham diretamente com internet, porm muito pouco entendido.
Os Cookies so pequenos textos ( de geralmente 1Kb ), colocados em seu disco rgido por alguns sites que voc visitou. Eles contm informaes que o prprio internauta forneceu ao site como e- mail, preferncias, o que voc comprou, seu nome, etc...Mas apenas o que o internauta forneceu. Se ele apenas entrou no site e no digitou informao nenhuma, ento o cookie no conter nenhuma informao. Alguns sites de comrcio eletrnico colocam estes cookies no disco rgido do usurio com o objetivo de personalizar os prximos atendimentos. Por exemplo, o usurio entrou em uma loja virtual e comprou o livro E o vento Levou . Pagou com carto de crdito e forneceu seu nome e mais alguns dados para que a compra pudesse ser raizada. Em seu prximo acesso a este mesmo site, este usurio receber uma mensagem em sua tela dizendo: Bom dia Fulano de Tal, que tal conhecer E o vento Levou 2 ? . Ou seja, o atendimento foi personalizado para este usurio. Ele foi reconhecido e um livro que provavelmente ser de seu agrado lhe foi oferecido. Assim o cliente pode ser atendido de acordo com seu perfil e suas preferncias, e o site ter uma maior probabilidade de vender outro livro. Este tipo de operao envolvendo cookies e personalizando o atendimento visa criar um vnculo com o cliente com o objetivo que este volte outras vezes ao site. Nos sites de comrcio eletrnico, os cookies tambm so utilizados para criar os carrinhos de compras. Digamos que o usurio esteja num site fazendo compras e de repente, por algum motivo, cai sua conexo... Acontece que ele j encheu seu carrinho com um monte de coisas. Ser que o site vai perder esta venda? Pois, mesmo se o cliente voltar, ser que ele ter pacincia para comprar tudo outra vez? Graas aos cookies est tudo bem. Se o cliente retornar ao site e quiser continuar de onde parou, os cookies lembraro o que tinha dentro do carrinho e o cliente no precisar comear tudo de novo. Apenas como esclarecimento, os cookies no transmitem vrus e podem ser lidos apenas por aqueles que o colocaram no hard disk do usurio, evitando o trfego aberto de informaes pela rede. Outra utilidade dos cookies fornecer informao sobre nmero, freqncia e preferncia dos usurios para que se possa ajustar a pgina de acordo com o gosto do internauta. Criando Cookies O cookie uma propriedade do objeto window.document e possui uma restrio numrica de 300 cookies no total e no mximo 20 cookies por site, alm de um tamanho mximo de 4 KB, embora estes nmeros possam variar conforme a verso do browser. Quando gravamos um cookie, portanto, apenas inserimos uma varivel string que contm os valores desejados em um arquivo cookie que associado ao nosso documento. O exemplo simplificado abaixo nos mostra como os cookies operam: <script language="JavaScript"> <!-- function DefineCookie(nome, valor, form){ document.cookie = nome+"="+valor+";"; form.Nome.value = ""; form.Valor.value= ""; }
function ExibeCookie(form) { form.Resultado.value = document.cookie; } // --> </script>
Note que usamos apenas 3 funes, com os objetivos de inserir valores dentro de um cookie, mostr-lo ou reinici-lo. Note que a propriedade document.cookie , de fato, uma string, com a conveno de que cada cookie seja separado do outro por um ";" como consta na funo DefineCookie(). Deve ficar claro, portanto, que para armazenarmos vrios pares <valor, informao> deveremos manipular a string do cookie para obtermos o valor desejado. Para isso, usamos a funo abaixo, capaz de nos devolver o valor corrente de um cookie:
function GetCookie(nome) { var dc = document.cookie; var prefixo = nome + "="; var inicio = dc.indexOf(prefixo); if (inicio == -1) return null;
var final = document.cookie.indexOf(";",inicio); if (final == -1) final = dc.length; return unescape(dc.substring(inicio+prefixo.length, final)); }
Vamos agora fazer algo mais interessante, como contar o nmero de vezes que um determinado usurio visitou nossa pgina. O script abaixo mostra o uso de um boto que contar o nmero de vezes que o mesmo for clicado, o que certamente pode ser feito no momento da pgina ser carregada, exibindo uma mensagem do tipo "Ol, FULANO, que bom que voc voltou! J a N- sima vez que voc nos visita!" function ContarVisitas(form) { visitas=GetCookie("Visitas"); if(!visitas) { visitas = 1; form.Contador.value="Esta o seu primeiro click!" } else { visitas = parseInt(visitas) + 1; form.Contador.value="Voc j clicou " + visitas + " vezes"; } document.cookie="Visitas="+visitas+";"; } Faa seus testes e veja como ocorre.
Veja uma relao de cookies armazenados na subpasta Cookie presente na pasta Windows conforme mostrado na figura a seguir:
Os nomes de cookies seguem um padro do login da mquina acompanhado do local do domnio ou parte no restante do nome do arquivo. A sintaxe utilizada no contedo do arquivo do cookie, segue o seguinte padro:
Vejamos outro exemplo que ir criar dois campos de texto e um Boto. Ser colocado o nome do cookie em um campo de texto e o valor em outro campo de texto. Clicando sobre o boto, ser armazenado no computador do usurio um registro com nome/valor, num arquivo com a origem da pgina.
function gravaCookie(){ var dataexp = new Date (); dataexp.setTime (dataexp.getTime() + (24 * 60 * 60 * 1000 * 1)); //vai valer por 1 dia setCookie (document.fm1.nome.value, document.fm1.valor.value, dataexp); }
<form name="fm1"> Entre com um nome para o cookie:<input type = "text" name = "nome"> <p>Entre com um valor para o cookie:<input type = "text" name= "valor"> <p><input type = "button" value = "Gravar cookie" onClick= "gravaCookie()"> </form> <p>Agora v para outra pgina, clicando <a href="ck2.html">aqui</a>
Assim, atravs dos cookies, possvel manter uma continuao entre vrias pginas de uma aplicao. Por exemplo: em pginas de uma aplicao de e- commerce com produtos que o usurio seleciona em determinada quantidade. Estes dados so gravados como cookies. Depois lidos numa outra pgina que tem um "carrinho de compras". A lgica de programao destas continuidades pode ser um pouco complicada usando JavaScript. Ns, particularmente, achamos mais fcil trabalhar (desde que o browser aceite) com applets do Java e variveis estticas num frame adicional. Uma outra razo pela qual no gostamos de usar cookies que muitos crackers usam esta estrutura de acesso ao disco do usurio, para invadir mquinas. E muita gente, com medo, desativa a aceitao de cookies (veja abaixo como se faz no IE), o que invalida toda sua aplicao.
sempre bom ento, se voc vai usar cookies, alertar o usurio de que tem que aceit-los para a aplicao funcionar.
______________________________________________________ FAQ SOBRE COOKIES
Cookies - so simplesmente bits de informao, pequenos arquivos texto (arquivos com terminacao .txt), geralmente com menos de 1Kb, que o seu browser capta em alguns sites e guarda em seu hard disk. De onde surgem os cookies? De voc! A maioria das vezes os dados contidos nos arquivos texto vm de informaes que voc forneceu. Essas informaes podem ser o seu e-mail, o seu endereco ou qualquer informao que voc tenha fornecido em um formulrio online. Para que eles so utilizados? Em pginas personalizadas, nais quais a cada vez que voc visita surgem opes que voc selecionou previamente. Sem cookies, voc teria de se registrar e resselecionar opes a cada vez que acessasse uma destas pginas. Com os cookies, o web site pode "lembrar" quem voc e quais as suas preferncias. Para que mais eles so utilizados? Compras online e registro de acesso so outros motivos correntes de utilizao. Quando voc faz compras via Internet, cookies so utilizados para criar um "carriho de compras virtual", onde seus pedidos vo sendo registrados e calculados. Se voc tiver de desconectar do site antes de terminar as compras, seus pedidos ficaro guardados at que voc retorne ao site. Webmasters e desenvolvedores de sites costumam utilizar os cookies para coleta de informaes. Eles podem dizer ao webmaster quantas visitas o seu site recebeu, qual a freqncia com que os usurios retornam, que pginas eles visitam e de que eles gostam. Essas informaes ajudam a gerar pginas mais eficientes, que se adaptem melhor as preferncias dos visitantes. Qual a utilizao dos cookies na publicidade? Algumas companhias j utilizaram, ou ainda utilizam cookies para coletar informaes pessoais sobre os usurios e posteriormente enviar-lhes anncios publicitrios. O mais comum so os chamados spam mails, ou seja, mensagens no solicitadas que voc recebe via e-mail, geralmente anunciando a venda de algum produto. Essa prtica tem sido amplamente criticada e, atualmente, considerado bastante anti-tico utilizar-se das informaes providas por cookies, ou repass-las para empresas interessadas em atingir um determinado pblico. Se cookies so arquivos texto, quem pode ler esses arquivos? Um cookie s pode ser lido pelo site que o criou. Webmasters no podem intrometer-se no diretrio onde os cookies esto armazenados em seu computador para obter informaes a seu respeito. Um cookie pode trazer um virus para o meu computador? No. Vrus somente so trasportados por arquivos executveis. Sendo cookies arquivos texto, no h perigo de carregarem nenhum virus anexado eles. Ento qual o problema? Por que algumas pessoas detestam cookies? Alguns sentimentos anti-cookie so provocados apenas por desinformao. Cookies so simples arquivos texto, no podem entrar em seu hard disk e capturar nenhuma informao sobre voc. Eles apenas guardam informaes que voc voluntriamente forneceu ao visitar um site. E os browsers revelam alguma informao sobre voc de qualquer forma, mesmo sem a utilizao dos cookies: o seu endereo de IP, seu sistema operacional, tipo de browser utilizado, etc. Voce precisa aceitar cookies? No, no preciso. A maioria dos browers pode ser configurada para recusar cookies, embora no aceitando voc vai perder muitos aspectos providos pela rede. Voc no ter que reconfigurar pginas personalizadas a cada vez que visit-las, por exemplo. Posso aceitar alguns cookies e rejeitar outros? Sim, basta configurar seu browser para alert-lo sempre antes de aceitar um cookie.
DEPURAO DE CDIGO DEPURAO DE CDIGO DEPURAO DE CDIGO DEPURAO DE CDIGO
Qualquer programador que desenvolve programas com alguma linguagem sabe que erros de cdigo so passveis de ocorrer qualquer momento na construo do programa. Isso no depende de experincia, seja novato ou veterano em programao. Contudo, as linguagens de programao ao encontrar um determinado erro em uma de suas linhas, interrompe a execuo do programa e exibe uma mensagem informando a origem e qual foi o erro encontrado. Isto ir facilitar ao programador onde o mesmo dever corrigir o erro.
Sabemos que, quando algo deixa de funcionar corretamente como foi designado pelo programador, isto chamado de BUG. O processo de eliminao destes bugs chamado de depurao ou como trata algumas linguagens debugging. Caso o usurio encontre problemas na execuo de seus scripts, basta entender um pouco como os erros ocorrem para saber o que fazer posteriormente. preciso entender o que so erros, o que eles significam e principalmente, como corrig-los. bom tambm, saber quais so as mensagens de erro mais comuns que so exibidas quando o programador estiver escrevendo e testando seus scripts em JavaScript.
ISOLAMENTO DE PROBLEMAS
Normalmente os erros ocorrem durante o processo de edio dos scripts, portanto bom sempre examinar todo o cdigo ao primeiro sinal de problema. Existem trs tipos de erros que ocorrem durante a execuo de um programa em JavaScript: Erros em tempo de carga (load-time) Erros em tempo de execuo (run-time) Erros de lgica ERROS EM TEMPO DE CARREGAMENTO (Load-Time)
Este tipo de erro ocorre sempre que o browser carrega o script. Eles so os principais responsveis pelo mal funcionamento de todo o script. durante o processo de carregamento que detectado todos os erros srios que ocasionaro uma falha em todo o script. Com isto, o script no poder ser carregado corretamente enquanto o erro existir.
Neste tipo de erro, a causa maior para ocorrer so normalmente os erros na sintaxe de alguma instruo. Um exemplo claro disto, quando o usurio na criao de qualquer funo esquece de delimitar o bloco de suas instrues com caractere de bloco que so as chaves. Para auxiliar a identificao do problema. O JavaScript exibe uma caixa de alerta informando que ocorreu um erro em tempo de carregamento.
Esta caixa de dilogo apresentada quando o usurio d um duplo clique sobre a mensagem que aparece na barra de status do Internet Explorer 6. Caso o usurio esteja utilizando uma verso anterior, esta mensagem exibida imediatamente.
Observe pelo exemplo da figura anterior que ele destaca a linha onde existe o erro, o caractere que encontra-se errado e o que est faltando, neste caso esperado o caractere de fechamento do bloco da funo. bom saber que nem sempre o erro poder estar onde informado, dependendo do erro, ele poder estar localizado em outra parte do cdigo ou da linha. Para que continue execuo do programa necessrio confirmar atravs do boto OK.
ERROS EM TEMPO DE EXECUO (Run-Time)
Neste tipo de erro, o problema ocorre quando o script est sendo executado, diferente dos erros em tempo de carregamento que aparecem no momento que o documento est sendo carregado. Normalmente so causados quando o usurio utiliza os cdigos JavaScript de maneira incorreta. Um exemplo disto est quando o usurio faz uma referncia a uma varivel sem que ela tenha sido definida ou quando o usurio aplica incorretamente os objetos JavaScript. Vejamos um exemplo:
document(teste);
Sendo o correto:
document.write(teste);
ERROS DE LGICA (Logic Errors)
J o erro de lgica ocorre sempre quando o script executa algo bem diferente do que foi programado a executar. Neste caso, no devido aos parnteses ou chaves mal posicionados, mas sim, na construo do script. necessrio que o usurio proteja seu cdigo contra erros de lgica sempre que puder. Por exemplo, caso o usurio defina dois campos de formulrio do tipo texto e a cada um defina um nome de varivel, e em seguida, deseja que seja mostrado o contedo de uma das variveis, s que especifica a outra varivel, conseqentemente os dados estaro trocados.
ERROS COMUNS EXISTENTES
Muitas das vezes o usurio notar que os erros encontrados so causados pelos simples erros existentes. Vejamos os mais comuns:
Posicionamento de chaves
comum o usurio esquecer de delimitar o bloco de instrues presentes em uma funo com os caracteres de bloco, que so as chaves. Seu uso obrigatrio para que a linguagem compreenda onde comea e termina sua funo.
Strings entre aspas
Toda string possui aspas. Nunca esquea delas para evitar problemas futuros.
Cdigo de script correto
Sempre verifique o tipo de componente a ser usado. Saiba diferenciar instrues, mtodos, propriedades, funes e objetos (quando esto em conjunto, so denominados entidades). Sempre analise seu script mais de uma vez e verifique se as entidades esto escritas de forma correta. comum os programadores formatarem seus scripts com quebras de linha e tabulaes (indentaes) para criar uma espcie de hierarquia das entidades. Com certeza isso ir facilitar o acompanhamento e o relacionamento da ao de cada script. Vejamos um exemplo de script escrito de forma consistente:
<HTML>
<HEAD> <TITLE>Pgina bem definida</TITLE> </HEAD>
<BODY> <H1>Formatando com HTML</H1>
<SCRIPT> nome=prompt("Digite seu Nome:",""); if((nome=="")||(nome==null)){ alert("Favor Preecher o campo!"); }else{ document.write("Seja Bem Vindo"+nome); }
</SCRIPT> </BODY> <HTML>
Nomes de Objetos
Sempre verificar os nomes dos objetos se esto escritos corretamente, principalmente na diferenciao de letras maisculas e minsculas. Um exemplo disto est no uso dos objetos Date e Math que possuem suas iniciais maisculas, j os outros comeam com letras minsculas.
ANALISANDO A ORIGEM DOS ERROS
importante que o usurio na reparao de erros encontrados em seus scripts, isole suas funes e rotinas de modo que possa analisar etapa por etapa de seu programa. Verificar minuciosamente cada trecho das linhas do script de maneira que encontre possveis erros.
Muitos erros lgicos so causados por valores incorretos atribudos as variveis. Para facilitar a localizao destes erros, basta que o usurio defina reas de observao em vrios locais de seu script. Estas reas na maioria das vezes podem ser caixas de alerta para determinar se a execuo do programa est chegando quele ponto que se encontra. Logo aps a depurao de todo o script, o usurio ter apenas que remover estas reas de observao.
Outros programadores, preferem ter em mos uma cpia de todo o seu cdigo para que se possa fazer as devidas correes. Muitas das vezes, o usurio enxerga no papel o que ele no v na tela.
OUTROS ERROS COMUNS
1. Deixar de utilizar aspas em strings.
2. M utilizao das aspas e apstrofos (aspas simples).
3. Sinal de igualdade individual para expresses de comparao.
4. Utilizar o objeto de formulrio pertencente ao Documento e no a Janela.
5. Utilizao dos mtodos com outros objetos que no os possuem.
6. Criao de laos infinitos.
7. Falta da instruo return em uma funo. RESU RESU RESU RESUMO GERAL DE OBJETOS JAVASCRIPT MO GERAL DE OBJETOS JAVASCRIPT MO GERAL DE OBJETOS JAVASCRIPT MO GERAL DE OBJETOS JAVASCRIPT
OBJETO DESCRIO anchor (ncora) Link de hipertexto para a mesma pgina. As ncoras dependem do objeto document (documento). anchors[] (ncoras) Array que contm todas as ncoras no documento. button Cria um boto para um formulrio. Este objeto pertence ao objeto form (formulrio). checkbox Uma caixa de verificao de um formulrio. Este objeto pertence ao objeto form. Date Define a Data/Hora atuais. Este um objeto de nvel superior. document Visualiza outros objetos no corpo de uma pgina. Este objeto pertence ao objeto window. elements[] (elementos) Array que apresenta todos os elementos de um formulrio. Todos os elementos pertencem ao objeto form. form (formulrio) Contm qualquer objeto criado em um formulrio. Este objeto pertence ao objeto document. forms[] (formulrios) Array que contm todos os formulrios em documento. frame Determina as pginas divididas no navegador. Cada frame possui um objeto document. Pertencente ao objeto window. frames[] Array de frames do objeto window. hidden (oculto) Elemento de formulrio que cria uma caixa de texto oculta. Pertencente ao objeto form. histoy Histrico de todas as pginas visitadas. Pertence ao objeto document. link Link de hipertexto. Pertence ao objeto document. links[] Array dos links de um documento. location (localizao) URL (endereo) do documento atual. Pertence ao objeto document. Math Utilizado na execuo de clculos matemticos. Objeto de nvel superior. navigator Informaes sobre o browser. Objeto de nvel superior. options[] (opes) Array de itens de uma lista de seleo (select) em um formulrio. Pertencente ao objeto form. password (senha) Elemento de um formulrio que cria uma caixa de texto do tipo senha. Pertencente ao objeto form. radio (boto de opo) Elemento de um formulrio que cria cria botes de opo. Pertencente ao objeto form. reset Elemento de um formulrio que cria um boto que limpa os campos do formulrio. Pertencente ao objeto form. select (lista de opes) Lista de seleo de um formulrio. Pertencente ao objeto form. string Variveis do tipo alfanumrico. Pertencente ao documento que se encontram. submit Elemento de um formulrio que cria um boto de envio de dados em um formulrio. Pertencente ao objeto form. text (caixa de texto) Elemento do formulrio que cria um campo de texto. Pertencente ao objeto form. textarea (rea de texto) Elemento do formulrio que cria uma rea de digitao de texto. Pertencente ao objeto form. window (janela) Representa a janela do browser. Objeto de nvel superior.
RESUMO GERAL DE MTODOS JAVASCRIPT RESUMO GERAL DE MTODOS JAVASCRIPT RESUMO GERAL DE MTODOS JAVASCRIPT RESUMO GERAL DE MTODOS JAVASCRIPT
MTODOS DO OBJETO DOCUMENT MTODO DESCRIO clear Limpa a janela (window). close Fecha o documento atual. write Permite a incluso de texto no corpo do documento. writeln Permite a incluso de texto no corpo do documento com um caractere de nova linha anexado.
MTODOS DO OBJETO FORM MTODO DESCRIO blur() Quando remove o foco de um campo do tipo text, textarea e campos de senha password. click() Quando dado um clique sobre um elemento de boto em formulrio ou campos do tipo radio e checkbox. focus() Quando dado o foco sobre um campo do tipo text, textarea e campos de senha password. select() Quando selecionado o contedo de um campo do tipo text, textarea ou password. submit() Quando o formulrio enviado ao servidor.
MTODOS DO OBJETO DATE MTODO DESCRIO getDate Retorna o dia do ms da data especificada a partir de um objeto date. getDay Retorna o dia da semana da data especificada. O valor retornado um valor inteiro correspondente ao dia da semana, sendo 0 para Domingo, 1 para Segunda-feira e assim por diante getFullYear Retorna o ano composto de 4 dgitos. getHours Retorna a hora para a data especificada. O valor retornado corresponde a um nmero inteiro entre 0 e 23. getMinutes Retorna os minutos na hora especificada. O valor retornado corresponde a um nmero inteiro entre 0 e 59. getMonth Retorna o ms da data especificada. O valor retornado corresponde a um nmero inteiro entre 0 a 11, sendo 0 para janeiro, 1 para fevereiro e assim por diante getSeconds Retorna os segundos da data especificada. O valor retornado corresponde a um nmero inteiro entre 0 e 59. getTime Retorna o nmero de segundos entre 1 de janeiro de 1970 e uma data especfica. getTimezoneOffset Retorna a diferena de fuso horrio em minutos para a localidade atual. getYear Retorna o ano de uma data especfica. parse Retorna o nmero de milessegundos de uma data a partir de 1 de janeiro de 1970, 00:00:00 setDate Estabelece o dia do ms para uma data especificada sendo um inteiro entre 1 ou 31. setHours Estabelece a hora para uma data especificada, sendo um inteiro entre 0 e 23, representando a hora dia. setMinutes Estabelece os minutos para a data especificada, sendo um inteiro entre 0 e 59. setMonth Estabelece o ms para a data especificada, sendo um inteiro entre 0 e 11 para o ms. setSeconds Estabelece o nmero de segundos para data especificada, sendo um inteiro entre 0 e 59. setTime Estabelece o valor do objeto date, sendo um inteiro representando o nmero de milisegundos desde 1 de janeiro de 1970. setYear Define o ano de uma data especfica toGMTString Converte a data para string usando as convenes da GMT. toLocaleString Converte uma data para string, usando as convenes locais. toString Retorna uma string representando a data especificada UTC Converte uma data delimitada por vrgulas para o nmero de segundos a partir de 1 de janeiro de 1970.
MTODOS DO OBJETO HISTORY EVENTO DESCRIO Back Representa a URL visitada anteriormente. Forward Representa a URL que estava antes de voltar. Go Representa uma URL que esteja na relao de URLs visitadas.
MTODOS DO OBJETO MATH MTODOS DESCRIO Abs Retorna o valor absoluto de um nmero. Aos Retorna o arco cosseno de um nmero, em radianos. Asin Retorna o arco seno de um nmero, radianos. Atan Retorna o arco tangente de um nmero, em radianos. Ceil Retorna o menor inteiro maior ou igual a um nmero. Cos Retorna o cosseno de um nmero. Eval Calcula o contedo de uma expresso. EVAL uma funo. Exp1 Retorna o logartmo do mmero na base E. Floor Retorna o maior inteiro menor ou igual ao nmero. isNAN Determina se um valor um nmero ou no. Log Retorna o logartmo natural de um nmero (base E). Max(num1,num2) Retorna o maior valor de dois nmeros. Min(num1,num2) Retorna o menor valor de dois nmeros. Pow(base,expoente) Retorna a base elevada ao expoente. Random() Retorna um nmero aleatrio entre 0 e 1. Round Retorna o valor arrendondado de um inteiro. Sin Retorna o seno de um nmero. Sqrt Retorna a raiz quadrada de um nmero. Tan Retorna a tangente de um nmero.
MTODOS DO OBJETO STRING MTODOS DESCRIO Anchor Cria uma ncora HTML que utilizada como destino de um link de hipertexto. Big Mostra uma string em fonte maior. Similar ao tag <BIG>. Blink Apresenta uma string piscante. Similar ao tag <BLINK>. Bold Apresenta a string em negrito. Similar ao tag <B>. CharAt(ndice) Retorna o caractere no ndice especificado. Concat(s1,s2,s3...) Concatena vrias strings, retornando uma nova string. Fixed Apresenta a string em fonte monoespao. Similar ao tag <TT>. Fontcolor(cor) Apresenta uma string com uma cor especificada. Similar ao tag <FONT COLOR=cor>. Fontsize(tamanho) Apresenta a string com tamanho determinado. Similar ao tag <FONT SIZE=tamanho>. IndexOf Retorna a posio dentro da string onde aparece em primeiro o texto especificado. Ex.: string.indexOf(valor,[ndice]). Italics Apresenta o texto em itlico da mesma forma que o tag <I>. LastindexOf Retorna a posio dentro da string da ltima ocorrncia do texto procurado. Ex: string.lastIndexOf(valor,[ndice]). Link(href) Cria um link HTML. Similar ao tag <A HREF>. Slice (incio,fim) Extrai uma parte de uma string. Onde incio o caractere inicial da string e fim o caractere final. Small Apresenta a fonte em tamanho menor da mesma forma do tag <SMALL>. sub Apresenta a fonte em formato subscrito, da mesma forma do tag <SUB>. sup Apresenta a fonte em formato sobrescrito, da mesma forma do tag <SUP>. substring(indexA,indexB) Retorna um pedao de um objeto string. toLowerCase Converte a string em caracteres minsculos. toUpperCase Converte a string em caracteres maisculos.
MTODOS DE INTERFACE COM O USURIO MTODOS DESCRIO alert Exibe uma caixa de dilogo com o boto OK. confirm Exibe uma caixa de dilogo com os botes OK e CANCELAR. prompt Exibe uma caixa de dilogo solicitando a entrada de informao ao usurio.
MTODOS DO OBJETO WINDOW MTODOS DESCRIO clear Limpa a janela. clearTimeout Limpa um contador de tempo definido anteriormente com o mtodo setTimeout. close Fecha uma janela. open Abre uma janela setTimeout Define um contador de tempo.