Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila de Java Script..................................................................................................................................1 1. INTRODUO.........................................................................................................................................3 2. CRIANDO VARIVEIS ..........................................................................................................................3 3. OPERADORES LGICOS ....................................................................................................................3 4. OPERADORES MATEMTICOS (Aritmticos).....................................................................................4 5. CONTROLES ESPECIAIS ......................................................................................................................4 6. COMENTRIOS.......................................................................................................................................5 7. ESTRUTURAS DE SELEO E REPETIO......................................................................................5 7.1. Comando if .........................................................................................................................................5 7.2. Funo condicional (operador ternrio)..............................................................................................5 7.3. Comando switch..................................................................................................................................5 7.4. Comando for.......................................................................................................................................6 7.5. Comando WHILE ..............................................................................................................................6 7.6. Comando do .......................................................................................................................................6 8. EVENTOS ................................................................................................................................................6 9. ESCREVENDO NO DOCUMENTO .......................................................................................................7 10. MENSAGENS (caixas de dilogo)..........................................................................................................7 11. CRIANDO FUNES ...........................................................................................................................9 12. FUNES INTRNSECAS .................................................................................................................10 12.1. Funes tipicamente Matemticas: .................................................................................................10 13. Objetos...................................................................................................................................................10 13.1. Criando Mtodos.............................................................................................................................11 13.2. Herana...........................................................................................................................................12 14. MANIPULANDO ARRAYS ................................................................................................................13 15. MANIPULANDO STRING's ...............................................................................................................15 16. MANIPULANDO DATAS ...................................................................................................................16 17. INTERAGINDO COM O USURIO ..................................................................................................17 17.1. Objeto Input TEXT ........................................................................................................................17 17.2. Objeto Input PASSWORD ............................................................................................................17 17.3. Objeto Input HIDDEN ...................................................................................................................18 17.4. Objeto Input CHECKBOX ............................................................................................................18 17.5. Objeto Input RADIO ......................................................................................................................19 17.6. Objeto Input BUTTON ..................................................................................................................20 17.7. Objeto Input RESET ......................................................................................................................21 17.8. Objeto Input SUBMIT ...................................................................................................................21 17.9. Objeto TEXTAREA .......................................................................................................................22 17.10. Objeto SELECT ...........................................................................................................................23 18. Focando um Objeto ...............................................................................................................................24 19. USANDO TIMER e DATE ..................................................................................................................26 20. Abrindo novas Janelas ..........................................................................................................................28 20.1. Abrindo a Janela .............................................................................................................................28 20.2. Abrindo um Documento .................................................................................................................28 20.3. Fechando a Janela ...........................................................................................................................29 20.4. Fechando o Documento .................................................................................................................29 Apndice A- A hierarquia de objetos..........................................................................................................30 O Objeto navigator..................................................................................................................................30 O Objeto window ...................................................................................................................................30 document : informaes sobre o documento atual. ............................................................................30
form : um formulrio no documento..................................................................................................30 link : um link no documento. .............................................................................................................32 frame : informaes sobre uma frame contida por uma janela. .........................................................33 O Objeto Array........................................................................................................................................34 O Objeto Date.........................................................................................................................................34 O Objeto Math........................................................................................................................................34 O Objeto string........................................................................................................................................34 21. Document ..............................................................................................................................................34
1. INTRODUO
JavaScript uma linguagem que permite injetar lgica em pginas escritas em HTML (HiperText Mark-up Language). As pginas HTML podem ser escritas utilizando-se editores de texto, como o NotePad, Write, etc. Porm, existem editores prprios para gerar HTML, tais como Dreamweaver e o Microsoft FrontPage. Os pargrafos de lgica do javaScript podem estar "soltos" ou atrelados a ocorrncia de eventos. Os pargrafos soltos so executados na sequncia em que aparecem na pgina (documento) e os atrelados a eventos so executados apenas quando o evento ocorre. Para inserir pargrafos de programao dentro do HTML necessrio identificar o incio e o fim do set de Java Script, da seguinte forma: <script> Set de instrues </script> Este procedimento pode ser adotado em qualquer local da pgina. Entretanto, para melhor visualizao e facilidade de manuteno, recomenda-se que toda a lgica seja escrita no incio do documento, atravs da criao de funes a serem invocadas quando se fizer necessrio (normalmente atreladas a eventos). Se a lgica escrita a partir de um determinado evento, no necessrio o uso dos comandos <script> e </script>. Os comandos JavaScript so sensveis ao tipo de letra (maisculas e minsculas) em sua sintaxe. Portanto, necessrio que seja obedecida a forma de escrever os comandos, de acordo com a forma apresentada ao longo deste manual. Caso seja cometido algum erro de sintaxe quando da escrita de um comando, o JavaScript interpretar, o que seria um comando, como sendo o nome de uma varivel.
2. CRIANDO VARIVEIS
A varivel criada automaticamente, pela simples associao de valores a mesma. Ex. NovaVariavel = "Jose"; Foi criada a varivel de nome NovaVariavel que, passou a conter a string Jose. As variveis podem ser Locais ou Globais. As variveis que so criadas dentro de uma funo so Locais e referenciveis apenas dentro da funo. As variveis criadas fora de funes so Globais, podendo serem referenciadas em qualquer parte do documento. Desta forma, variveis que precisam ser referenciadas por vrias funes ou em outra parte do documento, precisam ser definidas como globais. Embora no seja recomendvel, em uma funo, pode ser definida uma varivel local com o mesmo nome de uma varivel global. Para isso utiliza-se o mtodo de definio var. Ex. Varivel Global : MinhaVariavel = ""; Varivel Local : var MinhaVariavel = "";
3. OPERADORES LGICOS
So operadores a serem utilizados em comandos condicionais, tais como: IF , FOR e WHILE. 3
Os comandos condicionais sero vistos mais a frente. == != > >= < <= && || Igual (obs.: so juntos) Diferente Maior Maior ou Igual Menor Menor ou Igual E Ou
5. CONTROLES ESPECIAIS
Caracter de escape \ \b - backspace \f - form feed \n - new line caracters \r - carriage return \t - tab characters \\ - caracter \ Ex. alert ("Cuidado com o uso de \" ou \' em uma string"); Exemplo 1:
<html> <head> <title></title> </head> <body> <script>
alert ("Cuidado com o uso de \" ou \' em uma string"); </script> </body> </html>
6. COMENTRIOS
// - Linha de comentrio /*....*/ - Delimitadores para inserir um texto com mais de uma linha como comentrio. Os delimitadores naturais para uma string so " ou ' . Caso seja necessrio a utilizao destes caracteres como parte da string, utilize \ precedendo " ou '.
7.1. Comando if
if (condio) { ao para condio satisfeita } [ else { ao para condio no satisfeita } ] Ex.
if (Idade < 18) {Categoria = "Menor";} else {Categoria = "Maior";}
7.6. Comando do
Funciona da mesma forma que o while, porm o teste realizado no fim da repetio, forando a execuo das linas que sero repetidas de pelo menos uma vez. do Ex.
var contador = 10 do{ contador-- }while (contador > 1) ;
{ ao } while (condio) ;
OBS: Nos comandos FOR, WHILE e DO a diretiva "break" pode ser utilizada para interromper a condio principal e sair do loop. Da mesma forma, a diretiva "continue" interrompe uma ao (se determinada condio ocorrer) mas volta para o loop. Diretivas/condies entre [ ] significam que so opcionais.
8. EVENTOS
So fatos que ocorrem durante a execuo do sistema, a partir dos quais o programador pode definir aes a serem realizadas pelo programa. Abaixo apresentamos a lista de alguns eventos possveis, indicando os momentos em que os mesmos podem ocorrer, bem como, os objetos passveis de sua ocorrncia. onload - Ocorre na carga do documento. Ou seja, s ocorre no BODY do documento. onunload - Ocorre na descarga (sada) do documento. Tambm s ocorre no BODY. onchange - Ocorre quando o objeto perde o focus e houve mudana de contedo, vlido para os objetos Text, Select e Textarea. 6
onblur - Ocorre quando o objeto perde o focus, independente de ter havido mudana, vlido para os objetos Text, Select e Textarea. onfocus - Ocorre quando o objeto recebe o focus, vlido para os objetos Text, Select e Textarea. onclick - Ocorre quando o objeto recebe um Click do Mouse, vlido para os objetos Button, Checkbox, Radio, Link, Reset e Submit. onmouseover - Ocorre quando o ponteiro do mouse passa por sobre o objeto, vlido apenas para Link. onselect - Ocorre quando o objeto selecionado, vlido para os objetos Text e Textarea. onsubmit - Ocorre quando um boto tipo Submit recebe um click do mouse, vlido apenas para o Form.
9. ESCREVENDO NO DOCUMENTO
O JavaScript permite que o programador escreva linhas dentro de uma pgina (documento), atravs do mtodo write. As linhas escritas desta forma, podem conter textos, expresses JavaScript e comandos Html. As linhas escritas atravs deste mtodo aparecero no ponto da tela onde o comando for inserido. Ex:
<script> valor = 30; document.write ("Minha primeira linha"); document.write ("Nesta linha aparecer o resultado de : " + (10 * 10 + valor)); </script>
A idia do exemplo acima escrever duas linhas. Entretanto o mtodo write no insere mudana de linha, o que provocar o aparecimento de apenas uma linha com os dois textos emendados. Para evitar este tipo de ocorrncia, existe o mtodo writeln que escreve uma linha e espaceja para a seguinte. Exemplo 2:
<html> <head> <title></title> </head> <body> <br>ESCREVENDO NO DOCUMENTO <br> <script> valor = 30 document.write ("Minha primeira linha"); document.write ("Nesta linha aparecer o resultado de : " + (10 * 10 + valor)); // document.write ("<p>Minha primeira linha</p>"); document.write ("<p>Nesta linha aparecer o resultado de: " + (10 * 10 + valor) + "</p>"); // document.write ("<br>Minha primeira linha"); document.write ("<br>Nesta linha aparecer o resultado de: " + (10 * 10 + valor)); </script> </body> </html>
Recebe mensagem via caixa de texto Input Receptor = prompt ("Minha mensagem", "Meu texto") ; Onde: Receptor o campo que vai receber a informao digitada pelo usurio Minha mensagem a mensagem que vai aparecer como Label da caixa de input Meu texto um texto, opcional, que aparecer na linha de digitao do usurio Ex.
Entrada = prompt("Informe uma expresso matemtica", ""); Resultado = eval(Entrada); document.write("O resultado = " + Resultado);
Exemplo 3:
<html> <head> <title></title> </head> <body> MENSAGENS <p> <script> alert ("Certifique-se de que as informaes esto corretas") // if (confirm ("Algo est errado...devo continuar??")) { alert("Continuando") } else { alert("Parando") } // Entrada = prompt("Informe uma expresso matemtica", "") Resultado = eval(Entrada) document.write("O resultado = " + Resultado) </script> </p> </body> </html>
Para acionar esta funo, suponha uma caixa de texto, em um formulrio, na qual seja informada a idade e, a cada informao, a funo seja acionada.
<form> <input type=text size=2 maxlength=2 name="Tempo" onchange="Idade(Tempo.value)"> </form>
Observe-se que o parmetro passado (quando ocorre o evento "onchange") foi o contedo da caixa de texto "Tempo" (propriedade "value") e que, na funo, chamamos de "Anos". Ou seja, no existe co-relao entre o nome da varivel passada e a varivel de recepo na funo. Apenas o contedo passado. Exemplo 4:
<html> <head> <title></title> </head> <body> Exemplo CRIANDO FUNES</font></font></b> <p>Preencha o campo abaixo com a idade desejada e de um "<b>click</b>" em qualquer parte do formulrio (fora do campo de digitao) para provocar o evento "<b>onchange</b>". </p> <p><script> function Idade (Anos) { if (Anos > 17) { alert ("Maior de Idade") ; } else { alert ("menor de Idade") ; } } </script> <form name="TFuncao"><input type=text size=2 maxlength=2 name="Tempo" onchange="Idade(Tempo.value)"></form></p> </body> </html>
ex1: Result = eval ( " (10 * 20) + 2 - 8") ; ex2: Result = eval (string); No primeiro exemplo Result seria igual a 194. No segundo, depende do contedo da string, que tambm pode ser o contedo (value) de uma caixa de texto.
13. Objetos
Atravs do operador new podem ser criadas novas instncias a objetos j existentes, mudando o seu contedo, porm, mantendo suas propriedades. 10
13.1.Criando Mtodos
Os mtodos de um objeto em Javascript so outras funes que so ligadas sua classe de definio. Usamos o mtodo prototype para determinar qual funo ser executada ao se chamar o mtodo. Uma outra forma de se criar um mtodo atribuir uma funo a uma varivel dentro do corpo da classe. Exemplo: Pessoa.prototype.setNome = setNome; 11
//a funo setNome tem que ser definida antes. Ex.: function Pessoa(){ var nome this.setNome = function setNome(qualNome){ this.nome = qualNome; } Esta pgina usa o seguinte para criar os objetos. Exemplo 6:
<script lang="Javascript 1.1" type="text/javascript"> function valorPedido() { return (this.quantidade * this.TipoProduto.preco); } function Produto(nom, p) this.nome = nom; this.preco = p; } {
produto.prototype.valorPedido = valorPedido; function pedido(nomecliente, prod, numerode) this.cliente = nomecliente; this.TipoProduto = prod; this.quantidade = numerode; this.DataPedido = new Date(); {
this.ValorPedido = prod .valorPedido; // invoca o metodo valorPedido do produto } var produto1 = new produto("PoupaTempo", 23); var produto2 = new produto("PoupaGrana", 11); var produto3 = new produto("PoupaGrana & Tempo", 99); var pedido1 = new pedido("Sr. Patolino", produto1, 5); var pedido2 = new pedido("Sr. Bozo", produto3, 22); var pedido3 = new pedido("Sr. Trouxa", produto2, 1); </script>
13.2.Herana
A herana outro conceito que o JavaScript no implementa formalmente, necessitando das famosas gambiarras. Quando bem empregada, permite uma grande reutilizao de cdigo, criando classes derivadas a partir de uma superclasse (classe-me), herdando todas as propriedades. Existem vrios tipos especficos de pessoas, em vrios sentidos. Brasileiros, portugueses, americanos, vendedores, mdicos, desenvolvedores Mesmo sendo mais especficos, todos eles tm caractersticas comuns de uma pessoa. Assim, o construtor Brasileiro derivado de Pessoa. Primeiro, vamos criar os construtores com suas propriedades.
function Pessoa() { this.olhos = 2; this.falando = function(message) { alert(message); } } function Brasileiro() { this.pais = "Brasil"; }
12
Pessoas falam, e isso se aplica tambm aos brasileiros, mas nem todas as pessoas nasceram no Brasil. Assim, a superclasse (ou super-construtor) Person, e somente nela definimos as propriedades comuns. Para fazer a herana existem vrios mtodos, mas vou explicar agora somente o que considero o mais simples e usado. Basta criar uma instncia do super-construtor no prottipo do construtor derivado, assim:
Brasileiro.prototype = new Pessoa;
Todo o construtor Pessoa foi instanciado como parte de Brasileiro. Agora podemos criar um objeto Brasileiroe utilizar tanto as propriedades especficas (definidas no prprio construtor) quanto as do superconstrutor.
var eu = new Brasileiro("Gerimundo"); alert(eu.pais); // "Brasil" eu.falando("Ol!"); // "Ol!"
Obs.: A classe Array com a primeira letra em maiscula. O tamanho opcional porque o vetor dinmico. Existem dois construtores para a classe Array, um recebe o tamanho e outro recebe um lista de elementos. Podemos criar um vetor de uma outra forma, bastando informar o seu tamanho pela prorpiedade length. O exemplo mostra como criar um objeto tipo array de tamanho varivel e com a funo de "limpar" o contedo das variveis cada vez que uma nova instncia seja criada a partir dele.
function CriaArray (n) { // Estamos informando o tamanho do vetor para que funcione como um vetor. this.length = n; for (var i = 0 ; i < n ; i++) { this[i] = ""; } }
Agora podemos criar novas instncias do objeto "CriaArray" e aliment-los com os dados necessrios.
// opcional a colocao do tamanho, // ele dinmico, podendo crescer nomeDia = new CriaArray(7); nomeDia[0] = "Domingo"; nomeDia[1] = "Segunda"; nomeDia [2] = "Tera"; nomeDia[3] = "Quarta"; nomeDia[4] = "Quinta"; nomeDia[5] = "Sexta"; nomeDia[6] = "Sbado";
13
atividade = new CriaArray(5) atividade[0] = "Analista"; atividade[1] = "Programador"; atividade[2] = "Operador"; atividade[3] = "Conferente"; atividade[4] = "Digitador";
diaSemana passaria a conter "Quinta" e ocupao conteria "Programador". Outra forma de se trabalhar com arrays criar novas instncias dentro do prprio objeto do array, o que proporciona o mesmo efeito de se trabalhar com matriz. Isso pode ser feito da seguinte forma:
function Empresas (Emp, Nfunc, Prod) { this.Emp = Emp; this.Nfunc = Nfunc; this.Prod = Prod; } TabEmp = new CriaArray(3) TabEmp[1] = new Empresas("Unisc", "120", "Servios"); TabEmp[2] = new Empresas("Ulbra", "35", "Software"); TabEmp[3] = new Empresas("Puc", "42", "Conectividade");
Assim, poderemos obter a atividade da empresa nmero 3, cuja resposta seria Conectividade, da seguinte forma:
atividade = TabEmp[3].Prod;
Obs: importante lembrar que, embora os exemplos estejam com indexadores fixos, os indexadores podem ser referncias ao contedo de variveis. Exemplo 7: <html>
<head> <title></title> </head> <body> Exemplo MANIPULANDO ARRAYS <br> <script> function CriaArray (n) { this.length = n; for (var i = 1 ; i <= this[i] = 0; } } nomeDia = new CriaArray(7); nomeDia[0] = "Domingo"; nomeDia[1] = "Segunda"; nomeDia [2] = "Tera"; nomeDia[3] = "Quarta"; nomeDia[4] = "Quinta"; nomeDia[5] = "Sexta";
n ; i++) {
14
nomeDia[6] = "Sbado"; // atividade = new CriaArray(5); atividade[0] = "Analista"; atividade[1] = "Programador"; atividade[2] = "Operador"; atividade[3] = "Conferente"; atividade[4] = "Digitador"; // diaSemana = nomeDia[4]; ocupacao = atividade[1]; document.write ("<p>dia semana = " + diaSemana + "</p>"); document.write ("<p>ocupacao = " + ocupacao + "</p>"); // function Empresas (Emp, Nfunc, Prod) { this.Emp = Emp; this.Nfunc = Nfunc; this.Prod = Prod; } tabEmp = new CriaArray(3); tabEmp[1] = new Empresas("Unisc", "120", "Servios"); tabEmp[2] = new Empresas("Ulbra", "35", "Software"); tabEmp[3] = new Empresas("Puc", "42", "Conectividade"); x = 3; atividade = tabEmp[x].Prod; document.write ("<p>atividade = " + atividade + "</p>"); </script> </body> </html>
(A varivel Parte receber a palavra aba) string.toUpperCase() - Transforma o contedo da string para maisculo (Caixa Alta) string.toLowerCase() - Transforma o contedo da string para minsculo (Caixa Baixa) escape ("string") - retorna o valor ASCII da string (vem precedido de %) unscape("string") - retorna o caracter a partir de um valor ASCII (precedido de %) 15
Para se alterar as configuraes de data e hora: : setDate(valor) - Altera o dia do ms (numrico de 1 a 31), valores acima do maior dia fazem com que o me passe para o prximo e o dia fica igual a diferena entre o dia fornecido e o maior dia do ms; setDay(valor) - Altera o dia da semana (0 a 6); setMonth(valor) - Altera o ms (numrico de 0 a 11); setYear(valor) - Altera o ano; setHours(valor) - Altera a hora (numrico de 0 a 23); setMinutes(valor) - Altera os minutos (numrico de 0 a 59); setSeconds(valor) - Altera os segundos (numrico de 0 a 59). No exemplo abaixo obteremos o dia da semana. Para tal, utilizaremos a varivel DataToda para armazenar data/hora e a varivel DiaHoje para armazenar o nmero do dia da semana.
dataToda = new Date() ; diaHoje = DataToda.getDay() ;
Para obter o dia da semana alfa, teremos que construir uma tabela com os dias da semana e utilizar a varivel diaHoje como indexador.
function CriaTab (n) { this.length = n; for (var x = 1 ; x<= n ; x++) { this[x] = ""; } } nomeDia = new CriaTab(7); nomeDia[0] = "Domingo"; nomeDia[1] = "Segunda"; nomeDia [2] = "Tera"; nomeDia[3] = "Quarta"; nomeDia[4] = "Quinta"; nomeDia[5] = "Sexta"; nomeDia[6] = "Sbado"; diaSemana = nomeDia[DiaHoje] ;
16
Para criar uma varivel tipo Date com o contedo informado pela aplicao, existe o mtodo set. Assim, temos os seguintes mtodos: setDate, setDay, setMonth, setYear, setHours, setMinutes e setSeconds. Seguindo o exemplo acima, para mudar o ms para novembro, teramos:
dataToda.setMonth(10);
A construo destes objetos feita pela linguagem HTML (HiperText Mark-up Language).
Os eventos associados a este objeto so: onchange, onblur, onfocus e onselect. Exemplo 8:
<html> <head> <title></title> </head> <body> Exemplo Objeto Input TEXT </font></font></b> <form name="TText"> <p>Entrada de Texto <input type=text size=20 maxlength=30 name="CxTexto" value="" onchange="alert ('Voce digitou ' + CxTexto.value)"> </p> </form> </body> </html>
name value
Os eventos associados a este objeto so: onchange, onblur, onfocus e onselect. Exemplo 8: <html> <head> <title></title> </head> <body> <form name="TPassword"> Entrada de Senha <input type=password size=10 maxlength=10 name="Senha" value=""> </p> </form> </body> </html>
O nico evento associado a este objeto onclick. Exemplo 10: No exemplo abaixo, criaremos um objeto input.text e trs objetos checkbox. O primeiro checkbox, quando ativado, transformar o texto em caracteres minsculos. O segundo checkbox, quando ativado, transformar o texto em caracteres maisculos. O terceiro checkbox, quando ativado, dar um aviso do contedo que ser recebido pelo "server" caso o formulrio seja submetido para este. <html> <head> <title></title> </head> <body> Exemplo Objeto Input CHECKBOX <script> function AltMaiusc () { document.TCheck.Muda.value = document.TCheck.Muda.value.toUpperCase() document.TCheck.Opt1.checked = false } function AltMinusc () { document.TCheck.Muda.value = document.TCheck.Muda.value.toLowerCase() document.TCheck.Opt2.checked = false } </script> <p> <form name="TCheck"> Muda Case <input type=text size=20 maxlength=20 name="Muda"></p> <p> Minusculo<input type=checkbox name="Opt1" value="1" checked onclick="if (this.checked) { AltMinusc() } "> Maiusculo<input type=checkbox name="Opt2" value="2" onclick="if (this.checked) { AltMaiusc() } "> Demo valor<input type=checkbox name="Opt3" onclick="if (Opt3.checked) { alert ('Server recebera = ' + Opt3.value) }"> </p> </form> </body> </html> Existe ainda uma outra forma de manipular este objeto, em forma de array, que a seguinte: form.elements[index].propriedade. Esta no uma boa forma porque o index nico dentro de um formulrio, exigindo muito cuidado quando se acrescenta ou se deleta um objeto, pois, neste caso, haver um natural deslocamento do index, podendo comprometer a lgica.
19
value : Especifica o valor que ser enviado ao "server" se o objeto estiver ligado (checked) : Caso seja omitido, ser enviado o valor default "on" . Esta propriedade tambm serve para ativar comandos lgicos, testando-se a condio de "checked". checked : Especifica que o objeto inicialmente estar ligado Para utilizao deste objeto importante o conhecimento de outras propriedades associadas: Objeto.length Objeto.[index].value Objeto.[index] : Retorna a quantidade de opes existentes na lista : retorna o texto (value) associado a cada opo .checked : retorna verdadeiro ou falso
O nico evento associado a este objeto onclick. Exemplo 11: No exemplo abaixo temos dois set's de objetos radio. O primeiro tem o objetivo de mudar a cor de fundo do documento atual. O segundo tem o objetivo levar informaes ao "server". <html> <head> <title></title> </head> <body> Exemplo Objeto Input RADIO <p> <form method="POST" name="TesteRadio"> <p>Radio</p> <p> <input type=radio name="Rad" value="1" onclick="document.bgColor='green'"> Fundo Verde <input type=radio name="Rad" value="2" onclick="document.bgColor='blueviolet'"> Fundo Violeta <input type=radio name="Rad" value="3" onclick="document.bgColor='#FFFF00'"> Fundo Amarelo </p> <p> <input type=radio name="Rad2" value="1"> Solteiro <input type=radio name="Rad2" value="2"> Casado <input type=radio checked name="Rad2" value="3"> Tico Tico </p> </form> </body> </html>
<head> <title></title> </head> <body> Exemplo Objeto Input BUTTON <p> <form method="POST" name="TstButton"> Digite um Texto <input type=text size=30 maxlength=30 name="Teste" value=""> </p> <p> Click no Botao <input type=button name="Bteste" value="Botao de teste" onclick="alert ('Voce digitou: ' + TstButton.Teste.value)"> </p> </form> </body> </html>
name : Especifica o nome do objeto. value : Especifica o nome que aparecer sobre o boto O nico evento associado a este objeto onclick. Embora se possa atrelar lgica a este evento, no se pode evitar que o formulrio seja submetido, portanto, no aconselhavel o seu uso. Mais seguro e mais til a utilizao da propriedade onSubmit do formulrio. Este permite que se atrele lgica e decida-se pela submisso ou no. Exemplo 14: <html> <head> <title></title> </head> <body> Exemplo Objeto Input SUBMIT <script> function TestaVal() { if (document.TesteSub.Teste.value == "") { alert ("Campo nao Preenchido...Form nao Submetido") return false } else { alert ("Tudo Ok....Form Submetido") return true } } </script> <p> <form method="POST" name="TesteSub" onSubmit="return TestaVal()" action="http://10.0.5.2/scripts/isapielo.dll/vbloja.loja.action"> Digite um Texto<input type=text size=10 maxlength=10 name="Teste" value=""> </p> <p> Botao Submit <input type=submit name="Bsub" value="Manda p/Server"> </p> </form> </body> </html> No exemplo acima, o formulrio est sendo submetido a URL "10.0.5.2" (que o endereo IP de um "Server"). Este servidor est rodando o "Microsoft Internet Information Server". Estamos enviando os dados a um "OLE", que est no subdiretrio "scripts", chamado "isapielo.dll", que tem por objetivo fazer a coneco com aplicaes escritas em VB. A aplicao VB que est sendo chamada, um OLE de nome "vbloja" no qual estamos acionando a classe "loja" e o mtodo "action".
17.9.Objeto TEXTAREA
um objeto para entrada de dados em um campo de mltiplas linhas. Suas principais propriedades so: name, rows e cols. name rows cols value : Especifica o nome do objeto : Especifica a quantidade de linhas que aparecero na tela : Especifica a quantidade de caracteres que aparecero em cada linha : Acessa o contedo do campo via programao.
22
Exemplo 15: <html> <head> <title></title> </head> <body> Exemplo Objeto TEXTAREA <br> <form name="TesteTextarea"> <p> Texto de Multiplas Linhas <textarea name="MultText" rows=2 cols=40> Primeira linha do texto inicial segunda linha do texto inicial </textarea> </p> </body> </html>
17.10.
Objeto SELECT
um objeto para entrada de opes, onde o usurio, a partir de uma lista de alternativas, seleciona uma ou mais opes. Suas principais propriedades so: name, size, value e multiple. name size value multiple : Especifica o nome do objeto : Especifica a quantidade de opes que aparecero na tela simultneas : Associa um valor ou string para cada opo (opcional) : Especifica a condio de mltipla escolha (usando-se a tecla Ctrl)
Para utilizao deste objeto importante o conhecimento de outras propriedades associadas: Objeto.length : Retorna a quantidade de opes existentes na lista Objeto.selectedIndex : Retorna o "index" do objeto selecionado (primeiro = 0) Objeto.options[index].text : Retorna o texto externo associado a cada opo Objeto.options[index].value : Retorna o texto interno (value) associado a cada opo Objeto.options[index].selected : retorna verdadeiro ou falso Os eventos associados a este objeto so: onchange, onblur e onfocus. Exemplo 16: Neste exemplo importante observar os seguintes aspectos: a) A lista permite apenas uma seleo b) A quarta opo aparecer inicialmente selecionada (propriedade "selected") c) No utilizamos a propriedade "value". Assim, a propriedade "text" e a propriedade "value" passam a ter o mesmo valor, ou seja, o valor externo que aparece na tela. . <html> <head> <title></title> </head> <body> Exemplo Objeto SELECT <script> 23
function Verselect(Campo) { Icombo = Campo.selectedIndex alert ("Voce escolheu " + Campo.options[Icombo].text) } </script> <form name="TesteSelect"> <p>Objeto Select <select name="Combo1" size=1 onchange="Verselect(Combo1)"> <option>Opcao 1 <option>Opcao 2 <option>Opcao 3 <option selected>Opcao 4 (recomendada) <option>Opcao 5 <option>Opcao 6 </select> </p> // Segundo script <script> function Vermult(Lista) { var opcoes = "" for (i = 0 ; i < Lista.length ; i++) { if (Lista.options[i].selected) { opcoes += (Lista.options[i].value + ", ") } } alert ("As opcoes escolhidas foram : " + opcoes) } </script> <p>Objeto Select2 <select name="Combo2" size=4 multiple onblur="Vermult(this)"> <option value="List1">Escolha 1 </option> <option value="List2">Escolha 2 </option> <option value="List3">Escolha 3 </option> <option value="List4">Escolha 4 </option> </select> </p> </form> </body> </html> No segundo script importante observar os seguintes aspectos: a) A lista permite mltiplas selees b) Utilizamos a propriedade "value". Assim as propriedades "text" e "value" tm valores diferentes: text retornar Escolha 1 a Escolha 4 e value retornar List1 a List4. c) O parmetro passado, quando da ocorrncia do evento onblur, foi this. Esta diretiva significa que estamos passando este objeto.
Os mtodos "Focus" e "Select" podem ser utilizados nos seguintes objetos: password, select, text e textarea No exemplo abaixo, utilizaremos o evento onload para setar o focus para o primeiro objeto do formulrio e os mtodos focus e select para, na rotina de crtica dos dados, focar o objeto que contiver erro de preenchimento. Exemplo 17: <html> <head> <title></title> </head> Exemplo Focando um Objeto <body text="blue" onload="document.TstFocus.Nome.focus()"> <script> DdosOk = true function Criticar() { DadosOk = false DataAtual = new Date() MesAtual = DataAtual.getMonth() + 1 AnoAtual = DataAtual.getYear() + 1900 Nome = document.TstFocus.Nome.value Mes = parseInt(document.TstFocus.Mes.value) Ano = parseInt (document.TstFocus.Ano.value) // if (Ano < 1900) {Ano = Ano + 1900 } if (Nome == "") { alert ("Informe o seu Nome, No deixe em branco") document.TstFocus.Nome.focus() return } if (Mes < 1 || Mes > 12) { alert ("O Ms informado no vlido, informe corretamente") document.TstFocus.Mes.focus() document.TstFocus.Mes.select() return } if (Ano == AnoAtual && Mes > MesAtual) { alert ("O perodo informado superior a data atual") document.TstFocus.Mes.focus() document.TstFocus.Mes.select() return } if (Ano < 1996 || Ano > AnoAtual) { alert ("O Ano informado no vlido, informe corretamente") document.TstFocus.Ano.focus() document.TstFocus.Ano.select() return } DadosOk = true } </script> <form name="TstFocus" method="POST"> 25
<p> Informe o seu Nome <input type=text size=30 maxlength=30 name="Nome"> </p><p> Informe o ms desejado <input type=text size=2 maxlength=2 name="Mes"> </p><p> Informe o ano desejado <input type=text size=4 maxlength=4 name="Ano"> </p><p> <input type=button name="Testa" value="Testar Validade" onclick="Criticar() if (DadosOk) {alert ('Todos os Dados esto Corretos') } "> </p> </form> </body> </html>
<script> function Hoje() { ContrRelogio = setTimeout ("Hoje()", 1000) Hr = new Date() dd = Hr.getDate() mm = Hr.getMonth() + 1 aa = Hr.getYear() hh = Hr.getHours() min = Hr.getMinutes() seg = Hr.getSeconds() DataAtual = ((dd < 10) ? "0" + dd + "/" : dd + "/") DataAtual += ((mm < 10) ? "0" + mm + "/" + aa : mm + "/" + aa) HoraAtual = ((hh < 10) ? "0" + hh + ":" : hh + ":") HoraAtual += ((min < 10) ? "0" + min + ":" : min + ":") HoraAtual += ((seg < 10) ? "0" + seg : seg) document.DataHora.Data.value=DataAtual document.DataHora.Hora.value=HoraAtual } // function CriaArray (n) { this.length = n } // NomeDia = new CriaArray(7) NomeDia[0] = "Domingo" NomeDia[1] = "Segunda" NomeDia[2] = "Tera" NomeDia[3] = "Quarta" NomeDia[4] = "Quinta" NomeDia[5] = "Sexta" NomeDia[6] = "Sbado" // NomeMes = new CriaArray(12) NomeMes[0] = "Janeiro" NomeMes[1] = "Fevereiro" NomeMes[2] = "Maro" NomeMes[3] = "Abril" NomeMes[4] = "Maio" NomeMes[5] = "Junho" NomeMes[6] = "Julho" NomeMes[7] = "Agosto" NomeMes[8] = "Setembro" NomeMes[9] = "Outubro" NomeMes[10] = "Novembro" NomeMes[11] = "Dezembro" // Data1 = new Date() dia = Data1.getDate() dias = Data1.getDay() mes = Data1.getMonth() ano = Data1.getYear() document.write ("Recife, " + NomeDia[dias] + " " + dia + " de " + NomeMes[mes] + " de " + (ano + 1900 ) ) </script> </p> <P> 27
<form name="DataHora"> Data : <input type=text size=10 maxlength=10 name="Data"> Hora : <input type=text size=10 maxlength=10 name="Hora"> <input type=radio name="Botao" value="Para Relogio" checked onclick="clearTimeout(ContrRelogio)">Desativa <input type=radio name="Botao" value="Ativa Relogio" onclick="ContrRelogio = setTimeout('Hoje()', 1000)">Ativa </form> </P> </body> </html>
20.1.Abrindo a Janela
A sintaxe geral deste mtodo a seguinte: Variavel = window.open ("Url", "Nome da janela", "Opes") Onde: Variavel - Nome que ser atribuido como propriedade da janela. Url - Endereo Internet onde a janela ser aberta. Normalmente voce estar utilizando a sua prpria Url, neste caso, preencha com "". Nome da Janela - o nome que aparecer no top da janela (Ttulo) Opes - So as opes que definem as caractersticas da janela, quais sejam: toolbar location directories status scrollbars menubar resizable width height - Cria uma barra de ferramentas tipo "Back", "Forward", etc. - Abre a barra de location do browse - Abre a barra de ferramentas tipo "What's New", "Handbook", etc. - Abre uma barra de status no rodap da janela - Abre barras de rolamento vertical e horizontal - Cria uma barra de menu tipo "File", "Edit", etc. - Permite ao usurio redimencionar a janela - Especifica a largura da janela, em pixels - Especifica a altura da janela, em pixels
Todas as opes (exceto width e height) so boleanas e podem ser setadas de duas formas. Exemplo: "toolbar" ou "toolbar=1") so a mesma coisa. Se nada for especificado, entende-se que todas as opes esto ligadas; Caso seja especificada qualquer opo, ser entendido que esto ligadas apenas as opes informadas. As opes devem ser informadas separadas por vrgula, sem espao entre elas.
20.2.Abrindo um Documento
28
Para abrir um documento dentro da janela, deve ser utilizado o seguinte mtodo: Variavel.document.open() Onde "Variavel" o nome da varivel associada ao mtodo window.open
Escrevendo no Documento
Para escrever a tela no documento, deve ser utilizado o seguinte mtodo: Variavel.document.write ("Comandos html, Comandos JavaScript, Textos, etc.")
20.3.Fechando a Janela
Para fechar a janela, utilize o seguinte mtodo: Variavel.document.write ("window.close()")
20.4.Fechando o Documento
Para fechar o documento, utilize o seguinte mtodo: Variavel.document.close () Exerccio: Construa um script em que o usurio escolher uma opo (Unisc ou Ulbra) e dar um Click em um boto (Nova Janela). Neste momento ser aberta uma nova janela que conter a foto escolhida pelo usurio e um boto que, ao receber o Click, fechar a janela.
29
O Objeto window
O objeto de alto nvel na hierarquia a janela. A janela tem estas propriedades ou mtodos: defaultStatus : mensagem padro da barra de status.
form
action
: um formulrio no documento.
: Uma string que contm o URL de destino para a submisso do formulrio.
button : Um boto no formulrio. O objeto button tem estas propriedades: name : O atributo NAME= no descritor HTML. value : O atributo VALUE= no descritor HTML.
30
checkbox : Uma caixa de verificao no formulrio. O objeto checkbox tem estas propriedades: checked: O estado de seleo da caixa de verificao. defaultChecked: O atributo CHECKED= do descritor name : O atributo NAME= do descritor. value : O atributo VALUE= do descritor. matriz elements : Uma matriz que lista os elementos do formulrio na ordem em que eles aparecem formulrio. encoding : O cdigo MIME do formulrio.
hidden : Um elemento oculto no formulrio. O objeto hidden tem estas propriedades: name : O nome (o atributo NAME) no descritor. value : O atributo VALUE= no descritor. length method : O nmero de elementos no formulrio. : Como a entrada de dados no formulrio enviada ao servidor; o atributo METHOD.
password : Um campo de senha no formulrio. defaultValue: O valor padro do objeto password (o atributo VALUE=). name : O nome (o atributo NAME=) do objeto. value : O valor atual contido pelo campo. Inicialmente, o mesmo que o atributo VALUE= (defaultValue), mas se um script modifica os dados contidos pelo campo, o valor ser alterado. radio : Um boto de rdio no formulrio. O objeto radio tem estas propriedades: checked : O estado de uma caixa de verificao ou boto de opo (boto de rdio). defaultChecked: O estado padro de uma caixa de verificao ou boto de opo (boto de rdio). length : O nmero de botes no conjunto. name : O nome (o atributo NAME=) no descritor. value : O atributo VALUE= no descritor. reset : Um boto de reinicializao no formulrio. O objeto reset tem as seguintes propriedades: name : O nome (o atributo NAME=) do objeto. value : O atributo VALUE=. select : Uma caixa de seleo no formulrio. O objeto select tem as seguintes propriedades: length : O nmero de opes na lista de seleo. name : O nome (atributo NAME=) da lista de seleo. options: O nmero de opes na lista. selectedIndex: O ndice (posio) da opo selecionada na lista de seleo. 31
text : O texto aps um descritor de opo na lista de seleo. value : O atributo VALUE= da lista de seleo. submit : Um boto de seleo no formulrio. O objeto submit tem as seguintes propriedades: name : O nome (o atributo NAME) do objeto. value: O atributo VALUE=. target : O nome da janela que exibe respostas aps o formulrio ter sido submetido.
text : Um elemento text no formulrio. O objeto text tem as seguintes propriedades: defaultValue: O valor padro do objeto text (o atributo VALUE=). name : O nome (o atributo NAME=) do objeto. value : O valor atual contido no campo. Inicialmente o mesmo que o atributo VALUE= (defaultValue). textarea : Um elemento textarea no formulrio. O objeto textarea tem as seguintes propriedades: defaultValue : O valor padro do objeto textarea (o atributo VALUE=). name : O nome (o atributo NAME=) do objeto. value : O valor atual contido no campo. Inicialmente, o mesmo que o atributo VALUE= (defaultValue), mas se um script modifica, o valor contido pelo campo value ser alterado. forms : uma matriz que lista todos os formulrios no documento.
lastModified : a data em que o documento foi modificado pela ltima vez. linkColor : o atributo LINK.
link
: um link no documento.
O objeto link tem estas propriedades: hash : um nome de ncora no URL. host : a parte nomehost:porta do URL. hostname: o nome do host e do domnio (endereo de IP) no URL. href : O URL completo. pathname : A poro diretrio do URL, incluindo o nome de arquivo. port : a parte porta de comunicao do URL, se especificada. protocol : a parte protocolo do URL, incluindo os dois pontos (por exemplo: ftp:). search : a parte do URL comeando com ?, especificando uma consulta, se presente. target : o atributo TARGET de um link, que especifica a janela-alvo. links : uma matriz que lista todos os links no documento.
32
: o URL completo do documento. : o URL do documento vinculado a este, a partir do qual o usurio chegou. : o ttulo do documento. : o atributo VLINK.
matriz frames : Uma matriz que lista as frames-filhas dentro desta frame. length : O nmero de frames dentro desta frame. name : O nome da frame (o atributo NAME= no descritor ). parent : Um sinnimo para a janela-me que contm esta frame. self : Um sinnimo para a frame corrente. window : Um sinnimo para a frame corrente. frames : uma matriz que lista todas as frames em uma janela.
history : a lista history. O objeto history tem esta propriedade: length : o nmero de entradas na lista de histrico. length location : o nmero de frames na janela.
:informaes sobre o URL do documento corrente (observe que h uma propriedade do objeto document tambm chamada location...isto algo diferente!). O objeto location tem estas proprieades: hash host hostname href pathname port protocol search target name opener : um nome de ncora no URL : a parte nomehost:porta do URL : o nome do host e do domnio (endereo de IP) no URL : o URL completo : A poro diretrio do URL, incluindo o nome de arquivo. : a parte porta de comunicao do URL, se especificada. : a parte protocolo do URL, incluindo os dois pontos (por exemplo: ftp:). : a parte do URL comeando com ?, especificando uma consulta, se presente. : o atributo TARGET de um link, que especifica a janela-alvo.
: o nomeJanela : referencia a janela na qual um script usou window.open para abrir a janela corrente. Esta uma nova propriedade, introduzida com o Netscape Navigator 3.0, beta 3. : referencia a janela-me ao trabalhar em uma frame. 33
parent
: referencia a janela corrente (o mesmo que a propriedade window). : uma mensagem temporria na barra de status. : a janela principal do browser. : referencia a janela corrente (o mesmo que self).
O Objeto Array
O objeto array novo, introduzido com o Netscape Navigator 3.0, beta 3, de modo que no funciona com o Netscape 2.0. um objeto interno, de modo que no uma propriedade de outro objeto. Ele tem uma nica propriedade: length : O nmero de valores contidos na matriz.
O Objeto Date
O objeto Date no descende de outro objeto, e no tem nenhuma propriedade.
O Objeto Math
O objeto Math no descende de outro objeto. Ele tem estas propriedades: E LN2 LN10 LOG2E LOG10E PI SQRT1_2 SQRT2 : Constante de Euler e a base dos logaritmos naturais (aproximadamente 2.718). : Logaritmo natural de 2 (aproximadamente 0.693). : Logaritmo natural de 10 (aproximadamente 2.302). : Logaritmo base 2 de e (aproximadamente 1.442). : Logaritmo base 10 de e (aproximadamente 0.434). : O valor de pi, (aproximadamente 3.14159). : Raiz-quadrada de meio (1 sobre a raiz quadrada de 2 aproximadamente 0.707). : Raiz quadrada de 2 (aproximadamente 1.414).
O Objeto string
Os objetos strings so criados quando voc cria uma string; eles no descendem de outros objetos. Eles tm esta propriedade: length : O nmero de caracteres na string.
21.
Document
34
Este objeto armazena todas as caractersticas da pgina HTML, como por exemplo: cor das letras, cor de fundo, figura que aparecer como papel de parede, etc
Sempre que incluimos alguma declarao no <BODY> do documento, estamos alterando (sem perceber) o objeto Document.
Forma geral:
<BODY [BACKGROUND="Imagem"] [BGCOLOR="#CorDeFundo"] [FGCOLOR="#CorDoTexto"] [LINK="#CorDosLinks"] [ALINK="#CorDoLinkAtivado"] [VLINK="#CorDoLinkVisitado"] [onLoad="funo"] [onUnLoad="funcao"]> Onde: Imagem = figura no formato GIF, que servir como papel de parede para a Home Page; #Cor... = nmero (hexadecimal), com seis dgitos, que corresponde a cor no formato RGB, o "#" obrigatrio. Os dois primeiros dgitos correspondem a R (red), os dois do meio a G (green) e os dois ltimos a B (blue). A combinao dos trs, forma a cor no formato RGB. funo = Nome de uma funo pr-definida, que ser chamada quando o evento ocorrer.
Propriedades:
alinkColor - Determina a cor do link enquanto o boto do o mouse estiver pressionado sobre o link. Ex: document.alinkColor="#FFFFFF" anchors - Vetor que armazena as ncoras definidas em uma pgina HTML com o comando <A NAME="ancora">. Esta propriedade somente para leitura, no pode ser alterada. Ex: document.anchors[ndice] bgColor - Determina a cor de fundo da pgina HTML. Ex: document.bgColor="#000000" cookie - Os cookies so pequenos arquivos que alguns sites da Web gravam no computador dos visitantes. A idia identificar o usurio, anotar quais caminhos ele j percorreu dentro do site e permitir um controle mais eficaz dos espectadores. (Informtica Exame - JUL/97). Esta propriedade melhor especificada pela prpria Netscape fgColor - Determina a cor das letras em uma pgina HTML. Esta propridade no altera o que j est impresso na pgina HTML. Ex: document.fgColor="#0000FF" forms - Vetor que armazena as referncias aos formulrios existentes na pgina HTML. Esta propriedade somente para leitura, no pode ser alterada. Ex: document.forms[ndice] lastModified - Obtm a data da ltima atualizao da pgina HTML. Esta propriedade somente para leitura, no pode ser alterada. 35
Ex: document.lastModified linkColor - Determina a cor dos links que ainda no foram visitados pelo usurio. Ex: document.linkColor = "#00FF00" links - Vetor que armazena os links definidos em uma pgina HTML. Esta propriedade somente para leitura, no pode ser alterada. Ex: document.links[ndice] location - Armazena o endereo (URL) atual em forma de string. Esta propriedade somente para leitura, no pode ser alterada. referrer - Armazena o endereco (URL) de quem chamou a pgina HTML atual. Com essa propriedade voc pode saber o usurio chegou a sua pgina. Esta propriedade somente para leitura, no pode ser alterada. Ex: document.referrer title - Armazena uma string com o ttulo da pgina HTML atual. Esta propriedade somente para leitura, no pode ser alterada. Ex: document.title vlinkColor - Determina a cor que o link aparecer aps ser visitado. Ex: document.vlinkColor = "#80FF80"
Mtodos:
clear -limpa a tela da janela atual. Ex: document.clear( ) open -Abre um documento e envia (mas no exibe) a sada dos mtodos write/writeln. Os dados enviados so exibidos, quando encontrado o mtodo close. Ex: document.open( ) close - Termina uma sequncia iniciada com o mtodo open, exibindo o que tinha sido apenas enviado. Ex: document.close( ) write - Imprime informaes na pgina HTML. Ex: document.write("Qualquer coisa" [,varivel] [,..., expresso]) writeln - Imprime informaes na pgina HTML e passa para a prxima linha. Em meus testes, esse mtodo no apresentou diferena com relao ao mtodo write. Ex: document.writeln("Qualquer coisa" [,varivel] [,..., expresso])
Eventos:
onLoad - Ocorre assim que um browser carrega uma pgina HTML ou frame. Ex: <BODY ... onLoad='alert("Oi!!!")'> onUnload - Ocorre quando se abandona uma pgina HTML ou frame. 36
Form
Os formulrios tem muitas utilidades, uma das principais seria a transferncia de dados dentro da prpria pgina HTML, sem que para isso seja necessria a interveno de qualquer outro meio externo. Ao se criar um formulrio na pgina HTML, automaticamente criada uma referncia para este formulrio, que fica guardada na propriedade form do objeto document. Como voc deve ter visto na pgina que trata do objeto document, a propriedade form um vetor, e a cada formulrio criado tambm criado um novo elemento para este vetor, o ndice inicial deste vetor 0 (zero) e varia at o nmero de formulrios do documento -1. Como voc pode notar, cada formulrio criado em uma pgina HTML, considerado um objeto distinto, tendo suas prprias referncias, mtodos, propriedades e eventos associados. A forma de acessar-mos diferenciadamente esses formulrios dentro da pgina HTML, utilizar a propriedade form do objeto document.
Forma geral:
<FORM NAME="Nome"] [ACTION="URL"] [METHOD="GET | POST"] [onSubmit="evento"]> Onde: Nome = Nome do formulrio, para futuras referncias dentro da pgina HTML. URL = Especifica o URL do servidor ao qual sera enviado o formulario. GET | POST = metodos de transferencia de dados do browser para o servidor
Propriedades:
action - Especifica o URL do servidor ao qual sera enviado o formulario. Ex: document.NomeDoFormulario.action documet.GuestBook.action = "esaex@canudos.ufba.br" elements - Vetor que armazena todos os objetos que so definidos dentro de um formulrio (caixas de texto, botes, caixas de entrada de dados, checkboxes, botes de rdio). O nmero de elementos deste vetor varia de 0 (zero) at o nmero de objetos dentro do formulrio -1. Ex: document.NomeDoFormulario.elements[indice] method - Seleciona um mtodo para acessar o URL de ao. Os mtodos so: GET e POST. Ambos os metodos transferem dados do browser para o servidor, com a seguinte diferenca: 37
METHOD=GET - os dados de entrada sao acrescentados ao endereo (URL) associado, como se fossem uma query (pesquisa a banco de dados) comum; METHOD=POST - os dados nao so acrescentados ao URL, mas fazem parte do corpo da mensagem enviada ao servidor. Obs.: Omtodo mais usual o POST: Esta propriedade pode ser alterada, porm s surtir efeito antes que o formulrio seja mostrado na tela. Ex: document.NomeDoFormulario.method = "post" ( ou "get")
Mtodos:
submit - Transfere os dados do formulrio para o endereo especificado em action, para serem processados. Funcionado de maneira anloga ao boto submit em HTML. Ex: document.NomeDoFormulario.submit( )
Eventos:
onSubmit - Ocorre quando um boto do tipo SUBMIT recebe o clique do mouse, transferindo os dados de um formulrio para o servidor especificado em action. Os dados s so enviados se o evento receber um valor verdadeiro (true), valor este que pode ser conseguido como resultado a chamada de uma funo que valida as informaes do formulrio. Ex: document.NomeDoFormulario.onSubmit ="return Valida_Informacoes(NomeDoFormulario)"
Exemplo:
<HTML> <HEAD> <TITLE>Exemplo - Objeto Form</TITLE> <META NAME=GENERATOR CONTENT="Claris Home Page 2.0"> </HEAD> <BODY> <FORM action="mailto:esaex@canudos.ufba.br" method="POST">
<P><TT><B><H1>Exemplo:</H1></B></TT>
38
<P>
<FONT SIZE="-2">Página desenvolvida por </FONT><FONT SIZE="-2"><A HREF="mailto:esaex@canudos.ufba.br">Anderson Barros Torres</A></FONT><FONT SIZE="-2">. Julho/97</FONT> </FORM> </CENTER>
</BODY> </HTML>
40