Professional Documents
Culture Documents
JavaScript
maio
2007
1
Prof.a Lúcia Helena de Magalhães
Especialista em Desenvolvimento e Aplicações para Web
Especialista em Matemática e Estatística
Mestranda em Computação de Alto Desempenho / Sistemas computacionais
1
INDICE
1 Introdução............................................................................................................................ 2
1.1 O que é JavaScript? .......................................................................................................... 2
1.2 JavaScript e Java............................................................................................................... 2
1.3 Considerações iniciais ...................................................................................................... 2
1.4 Browser não suporta JavaScript?..................................................................................... 3
1.5 Comentários em JavaScript? ........................................................................................... 4
1.7 Objetos - Entendendo a Hierarquia de Objetos ............................................................... 4
1.8 Escrevendo no Documento............................................................................................... 7
1.10 Janelas de alerta .............................................................................................................. 8
1.11 Exibindo caixa de diálogo de confirmação.................................................................... 8
1.12 Exibindo caixa de diálogo de entrada de dados.............................................................. 9
2 Conceitos Básicos – Elementos da Linguagem................................................................. 12
2.1 Operadores Matemáticos ................................................................................................ 12
2.2 Operadores Lógicos........................................................................................................ 12
2.3 Concatenação.................................................................................................................. 13
2.4 Estruturas de Controle e Laços de Repetição ........................................................... 13
2.4.1 Comandos Condicionais .............................................................................................. 13
3 Variáveis.............................................................................................................................. 9
3.1 Criando Variáveis ........................................................................................................... 10
3.2 Tipos de dados ................................................................................................................ 11
3.3 Convertendo tipos de dados............................................................................................ 15
4 Manipulando strings .......................................................................................................... 17
4.1 Convertendo caixas de texto........................................................................................... 18
4.2 Descobrindo o comprimento de uma string.................................................................... 19
4.3 Substrings ....................................................................................................................... 19
5 Matrizes ............................................................................................................................ 20
5.1 Manipulando Datas........................................................................................................ 20
5.2 Criando Novas Instâncias ............................................................................................... 21
5.3 Trabalhando com matrizes de uma dimensão................................................................. 21
6 Eventos .............................................................................................................................. 25
7 Funções............................................................................................................................. 29
7.1 Escrevendo Textos Rolantes............................................ Erro! Indicador não definido.
8 Trabalhando com janelas ................................................................................................... 29
8.1 Como abrir uma nova janela........................................................................................... 29
9 Formulários....................................................................................................................... 31
Bibliografia........................................................................................................................... 36
2
1 Introdução
Java não é o mesmo que JavaScript! Estas são duas técnicas diferentes de programação na
Internet. Java é uma linguagem de programação. JavaScript é uma linguagem de hipertexto. A
diferença é que realmente pode criar programas em Java. Mas muitas vezes precisamos
apenas criar um efeito bonito sem ter que se incomodar com programação. A solução então é
JavaScript pois é fácil de entender e usar. Podemos dizer que JavaScript é mais uma extensão
do HTML do que uma linguagem de programação propriamente dita.
. </body>
.</html>
Na página anterior temos um documento HTML com uma inserção de código Javascript. A
tag script possui a propriedade language, que permite especificar qual a linguagem e
respectiva versão que está sendo utilizada no documento.
Exemplo:
<html>
<head>
<title>exemplo</title> …
<script language= “javascript” >document.write (“aqui já
é javaScript");
</script>
Voltamos para o html
</head>
<body>
esta linha está escrita em html
</body>
</html>
Este exemplo mostraria o seguinte:
Esta é uma linha escrita em HTML
Aqui já é JavaScript
Voltamos para o HTML
Estes exemplos realmente não são dos mais úteis - poderia ter sido escrito mais facilmente em
HTML puro. O objetivo foi apenas demonstrar o uso das TAGs <SCRIPT> e </SCRIPT>,
tudo que está entre essas TAGs é encarado como JavaScript.
É importante ressaltar, que como no C++, as linhas sejam terminadas com; (ponto e virgula)
a menos que a próxima instrução seja um ELSE e se você precisar escrever mais de uma linha
para executar uma condição seja ela em uma estrutura For, If ou While, este bloco de
instruções deve estar entre { } (chaves). Inclusive a definição de funções segue este modelo, ou
seja, todo o código da função deve estar limitado por {(no início) e } (no final).
EX: Comando IF
if (condição)
{ ação para condição satisfeita }
Else
{ação para condição não satisfeita };
Um browser que não suporta JavaScript, não conhece a TAG <SCRIPT>. Ele ignora a TAG e
todo o código que estiver sendo limitado por ela, mostrando todo o código na tela como se
fosse um simples texto HTML. Deste modo o usuário veria o código JavaScript do seu
4
programa dentro do documento HTML e como certamente essa não deve ser sua intenção,
existe um meio de esconder o código JavaScript dos browsers que não conhecem esta
linguagem, basta utilizar os comentários HTML <!-- e -->. O código do nosso exemplo
anterior ficaria assim:
<script>
<!--
document.write (“Aqui já é JavaScript"); -->
</script>
Note que esse artifício não esconde completamente o código JavaScript, o que ele faz é
prevenir que o código seja mostrado por browsers mais antigos, porém o usuário tem acesso a
todas as informações do código fonte de sua Home Page (tanto HTML, quanto JavaScript),
para isso ele só precisa escolher a opção Document Source, no menu View.
Comentários de apenas uma linha são feitos através da inclusão de "//" no início da linha.
/* Comentários de múltiplas linhas são feitos através da inclusão dos limitadores , no início e
fim do bloco como neste exemplo. */
objeto.propriedade
Supondo que temos um Palio 2007 Prata, vamos tentar fazer uma analogia ao mundo dos
objetos. Observem que caracterizamos nosso carro da forma como o vemos e conhecemos. No
mundo dos objetos, a essas características, damos o nome de propriedades. Vamos
transformar nosso Celta em um objeto genérico chamado carro. A partir daí, queremos
acessar suas propriedades. Como já conhecemos a sintaxe necessária, vamos então visualizá-
la:
//imprimindo as propriedades do objeto carro
document.write(carro.modelo, '<br>');
document.write(carro.ano, '<br>');
document.write(carro.cor, '<br>');
/*
Resultado:
. Palio
. 2007
. prata
*/
Ainda de posse de nosso exemplo, sabemos que um carro pode buzinar, andar, quebrar. Essas
ações que o carro pode fazer, são chamadas de métodos. É muito simples identificar um
método. Vejam que todos as nossas ações são verbos no infinitivo. Outra forma de identificar
um método, são os parênteses que o acompanham. Como executam alguma coisa, é normal
que o façam de acordo com a nossa vontade. E podemos expressar nossa vontade, enviando
parâmetros de execução para um método. Vejam a sintaxe:
objeto.metodo()
É idêntico ao acesso de uma propriedade, exceto pelos parênteses. Agora, fazendo a mesma
analogia com o nosso carro:
//executando os métodos do objeto carro
carro.buzinar('vaca');
carro.andar();
carro.quebrar();
/* Imaginem uma dessas buzinas onde escolhemos qual som deve ser emitido quando a
acionarmos. Os parâmetros dos métodos existem para que possamos dizer, como queremos
que ele atue. Para cada valor passado, o método buzinar() terá uma forma de agir. */
6
seqüência dos próximos capítulos vamos nos familiarizar melhor com isso.
Um outro objeto muito importante do Javascript, e que nos permite trabalhar com a janela e
seus objetos internos é o window. Com este objeto, conseguimos interagir com o usuário e
algumas características da máquina cliente, como resolução de tela e definição de cores. A
seguir, veremos alguns exemplos da utilização deste objeto.
Eemplo1.7.2: AloMundo.htm
01. <html>
02. <head>
03. <title>Aplicação Alô Mundo!!!</title>
04. <script language="Javascript">
05. document.write( "<center><font color=\"#FF0000\">Alô
Mundo!!! </font></center>" );
06. </script>
07. </head>
08. <body>
09. </body>
10. </html>
8
9. </body>
10. </html>
Janela de alerta do exemplo 1.8
O método confirm() retorna um valor booleano. True se o usuário clicar em "OK" e false se o
botão clicado for "Cancel". Dessa forma, o programa entrará no if se a condição for
satisfeita(clique no botão "OK"), ou no else, se o retorno do teste for falso(clique no botão
"Cancel").
3 Variáveis
Nota: Ao apertar o botão Ok da janela de diálogo, surgirá na tela uma outra janela de diálogo,
contendo o valor da variável b
• Double ou ponto flutuante: são os números que apresentam uma segunda precisão,
com indicação de maior exatidão.
var peso = 58.9;
2.3 Concatenação
O operador, representado pelo sinal (+), concatena variáveis, sejam elas numéricas ou
simplesmente texto. Pergunta: mas se utilizarmos o sinal de (+) relacionando dois números?
Não seria uma adição? Teoricamente sim, mas no Javascript, veremos que, em determinados
casos, ao "somarmos" valores numéricos advindos de campos textos, estes não serão
adicionados e sim concatenados. Em uma operação de inteiros teríamos uma soma. Mas se
um dos operandos for uma string, teremos uma concatenação. Observem os exemplos abaixo:
var a = "Curso de";
var b = "Javascript";
var c = 5;
var d = "8";
var e = 5;
var f = 8;
else
{Categoria = "Maior"}
Exemplo de uma instrução condicional:
Sintaxe:
If (...condição...) {...ação...}
If (DiaSemana = = “Segunda”) {document.write(“Hoje é dia de
preguiça”)}
Observe que uma ação em JavaScript deve estar entre chaves “{}”. A instrução then
foi substituída pelas chaves de abertura e fechamento.
OBS.: Em JavaScript é usado um duplo sinal de igualdade “= =” para testar se uma
determinada coisa é igual à outra. O sinal de “=” deve ser usado apenas para armazenar
valores em variáveis.
<body>
Página usando a instrução if
<script language = “javascript”>
var valor;
valor = 5;
if (valor = = 5) {document.write(“<p>” + “a variável
valor é: “ + valor + “</p>”)};
</script>
</body>
Visualização da página do exemplo 2.4.1
Este exemplo tem como objetivo mostrar como funciona a instrução else, uma cláusula que
completa o If, cuja finalidade é executar uma outra tarefa se a condição testada não for
verdadeira.
<body>
Página usando a instrução if ... else
<script language = “javascript”>
var a, b;
a = 5;
b = 10;
if (a == b) {document.write(“<p>” + “o valor da variável
a é igual ao valor da variável b” + “</p>”)}
else {document.write(“<p>” + “o valor da variável a é
diferente do valor da variável b” + “</p>”)};
</script>
</body>
Visualização da página do exemplo 2.4.2
15
Comando FOR
for ( [inicialização;]
[condição ;]
[incremento da variável de controle] )
{ ação }
EX1
for (x = 0 ; x <= 10 ; x++)
{alert ("X igual a " + x) }
ComandoWHILE
Executa uma ação enquanto determinada condição for verdadeira.
while (condição)
{ ação }
Ex.
<script>
var contador = 10;//esta variável fará o controle da execução do laço
while( contador > 1 ) {
document.write( contador ); "<P>"
contador--;
}
/*
Resultado:
0 1 2
*/
</script>
<BODY>
<P>
Exemplo com While
</BODY>
Nota: O JavaScript não foi capaz de efetuar a operação (B/2), pois o conteúdo de B, além de
possuir um número, possui também uma frase, o que gerou o erro de impressão: o valor da
variável B divido por 2 é: NaN.
Para contornar esta situação, o JavaScript dispõe de duas funções para conversão de
valores alfanuméricos em valores numéricos:
parseInt( ) – converte um valor alfanumérico em um valor numérico inteiro;
parseFloat( ) – converte um valor alfanumérico em um valor numérico de ponto flutuante.
Exemplo 3.2.1 - Usando funções parseInt( ) e parseFloat( )
17
4 Manipulando strings
O JavaScript é bastante poderoso no manuseio de String´s, fornecendo ao programador
uma total flexibilidade em seu manuseio.
Abaixo apresentamos os métodos disponíveis para manuseio de strings.
string.length - retorna o tamanho da string (quantidade de bytes)
string.charAt(posição) - retorna o caráter da posição especificada (inicia em 0)
string.indexOf("string") - retorna o número da posição onde começa a primeira "string"
string.lastindexOf("string") - retorna o número da posição onde começa a última "string"
string.substring(index1, index2) - retorna o conteúdo da string que corresponde ao intervalo
especificado. Começando no caracter posicionado em index1 e terminando no caracter
imediatamente anterior ao valor especificado em index2. Exemplo:
Todo = "Elogica"
Parte = Todo.substring(1, 4)
(A variável Parte receberá a palavra log)
string.toUpperCase() - Transforma o conteúdo da string para maiúsculo (Caixa Alta)
string.toLowerCase() - Transforma o conteúdo da string para minúsculo (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 %)
Armazenamento de strings
Os strings são armazenados em variáveis de memória, sendo que seu conteúdo deve estar
obrigatoriamente entre aspas. Exemplo:
A = “Olá pessoal!”
B = “Sejam bem vindos ao JavaScript”
18
Pode também, usar o sinal mais (+) para concatenar valores de duas ou mais strings.
Exemplo: C=A+B
Em que C será igual a: Olá pessoal! Sejam bem-vindos ao JavaScript
Exemplo 4 - Armazenando strings
1. <script language = “javascript”>
2. var a, b, c;
3. a =”olá pessoal ! ”;
4. b = “sejam bem vindos ao javascript”;
5. c = a + b;
6. alert (c);
7. </script>
Visualização da página do exemplo 4
Nota: O mesmo resultado pode ser obtido por intermédio do seguinte script:
1. <script language = “javascript”>
2. var a, b;
3. a =”olá pessoal ! ”;
4. b = “sejam bem vindos ao javascript”;
5. alert = (a + b);
6. </script>
4.3 Substrings
Podemos definir uma substring como sendo parte de uma string. No JavaScript, uma
suvstring é manipulada pelo método substring( ).
Sintaxe:
Substring (PosiçãoInicial, NúmerodeCaracteres)
A PosiçãoInicial especifica a posição do primeiro caractere contido na string, a partir da qual
a seqüência de caracteres é retornada. Em uma string, a posição do primeiro caractere recebe
20
5 Matrizes
Antes de começarmos matrizes, veremos o item manipulando datas para explicarmos
melhor o item matriz através de alguns exemplos.
Existe apenas uma função para que se possa obter a data e a hora. É a função Date(). Esta
função devolve data e hora no formato:Dia da semana, Nome do mês, Dia do mês,
21
Já foi visto que uma variável pode armazenar somente um valor de cada vez. Agora,
será mostrado que é possível armazenar mais de um valor em uma única variável, usando para
este fim o conceito de matrizes.
Uma matriz é composta de um conjunto de valores armazenado em uma única variável.
Seguindo este raciocínio, pode ser armazenado os nomes dos dias da semana, “Domingo”,
“Segunda-feira”, “terça-feira”, “quarta-feira”, “quinta-feira”, “sexta-feira” e “sábado”. Em
uma matriz denominada diaSemana.
22
Cada valor do conjunto é chamado de elemento da matriz. Os elementos de uma matriz são
diferenciados entre si por meio de um índice.
Veja os elementos da matriz diaSemana do exemplo anterior em uma tabela:
Índice Valor
0 Domingo
1 segunda-feira
2 terça-feira
3 quarta-feira
4 quinta-feira
5 sexta-feira
6 Sábado
Nota: Em javaScript, o primeiro elemento de uma matriz é definido pelo índice de número 0.
Para se usar uma matriz em JavaScript é necessário declarar o número máximo de
elementos que ela conterá, conforme a seguinte sintaxe:
Sintaxe:
Nome da matriz = new Array (número máximo de elementos)
Exemplo:
DiaSemana = new Array (7)
Ao ler esta instrução, o computador cria uma matriz de nome diaSemana com sete “espaços”
de memória, conforme descrito:
DiaSemana[ 0 ] = “Domingo”
DiaSemana[ 1 ] = “segunda-feira”
DiaSemana[ 2 ] = “terça-feira”
DiaSemana[ 3 ] = “quarta-feira”
DiaSemana[ 4 ] = “quinta-feira”
DiaSemana[ 5 ] = “sexta-feira”
DiaSemana[ 6 ] = “Sábado”
Exemplo 5.3: Usando matrizes para construir a página que exibe o dia da semana
O primeiro passo a ser dado consiste na declaração da matriz diaSemana com sete
posições. Este procedimento fará com que o computador reserve sete “espaços de memória”
na matriz diaSemana.
Nota: O JavaScript possui um objeto denominado Date com uma série de métodos que
manipulam datas. No momento, apenas se preocupe em saber que o método getDay( ) retorna
um número entre 0 e 6 correspondente aos dias da semana.
Agora podemos criar novas instâncias do objeto "CriaArray" e alimentá-los com os dados
necessários.
23
Agora podemos criar novas instâncias do objeto "Array" e alimentá-los com os dados
necessários.
Exemplo 5.4 Usando matriz para construir a página atividade do dia
1. <script language = "javascript">
2. Hoje = new Date ( );
3. xDia = Hoje.getDay ( );
4. NomeDia = new Array(7)
5. NomeDia[0] = "Domingo"
6. NomeDia[1] = "Segunda"
7. NomeDia[2] = "Terça"
8. NomeDia[3] = "Quarta"
9. NomeDia[4] = "Quinta"
10. NomeDia[5] = "Sexta"
11. NomeDia[6] = "Sábado"
12. Atividade = new Array(7)
13. Atividade[0] = "Dia de descanso"
14. Atividade[1] = "Analista"
15. Atividade[2] = "Programador"
16. Atividade[3] = "Operador"
17. Atividade[4] = "Conferente"
18. Atividade[5] = "Digitador"
19. Atividade[6] = "Web Master"
20. document.write ("<p><br>" + "Hoje é: " + NomeDia [xDia] +
"</b</p>");
24
Construindo uma página para exibir a data de abertura e uma mensagem de saudação.
6 Eventos
São fatos que ocorrem durante a execução do sistema, a partir dos quais o
Programador pode definir ações a serem realizadas pelo programa.
Abaixo apresentamos a lista dos eventos possíveis, indicando os momentos em que os
mesmos podem ocorrer, bem como, os objetos passíveis de sua ocorrência.
onload - Ocorre na carga do documento. Ou seja, só ocorre no BODY do documento.
onunload - Ocorre na descarga (saída) do documento. Também só ocorre no BODY.
onchange - Ocorre quando o objeto perde o focus e houve mudança de conteúdo.
válido para os objetos Text, Select e Textarea.
onblur - Ocorre quando o objeto perde o focus, independente de ter havido mudança.
Válido para os objetos Text, Select e Textarea.
onfocus - Ocorre quando o objeto recebe o focus.
Válido para os objetos Text, Select e Textarea.
onclick - Ocorre quando o objeto recebe um Click do Mouse.
Válido para os objetos Buton, Checkbox, Radio, Link, Reset e Submit.
onmouseover - Ocorre quando o ponteiro do mouse passa por sobre o objeto.
Válido apenas para Link.
onselect - Ocorre quando o objeto é selecionado.
Válido para os objetos Text e Textarea.
onsubmit - Ocorre quando um botão tipo Submit recebe um click do mouse.
Válido apenas para o Form.
EX: onBlur
Este evento acontece quando um objeto perde o foco. Parece bastante interessante, que, uma
validação de campo possa ser feita neste momento. Imaginem que, se o campo não estiver de
acordo com o objetivo da aplicação, uma mensagem possa ser enviada para o usuário,
26
alertando-o da inconsistência. Bom, nosso exemplo fará basicamente o que foi falado acima,
porém, o fará no exato momento que o objeto a ser tratado, perder o foco.
O exemplo abaixo solicita para o usuário preencher os campos usuário e senha. A aplicação
determina que a senha não poderá ter menos do que 6 caracteres. Se o usuário tentar deixar o
campo senha, com menos do que 6 caracteres preenchidos, uma mensagem deverá alertá-lo, e
o foco do campo, ser restabelecido para a correção. Observem:
01. <html>
02. <head>
03. <title>onBlur</title>
04. <script language="Javascript">
05. function checaTamanho() {
06. if( document.f1.senha.value.length < 6 ) {
07. alert('*** Senha deve possuir no mínimo 6 caracteres.');
08. document.f1.senha.focus();//remete o foco para o campo senha
09. }
10. }
11. </script>
12. </head>
13. <body>
14. <form name="f1" method="get">
15. <h3>Formulário de Login</h3><hr>
16. Usuário:<br>
17. <input type="text" name="user"><br>
18. Senha:<br>
19. <input type="password" name="senha" maxlength="10"
onBlur="checaTamanho();">
20. (mínimo de 6 caracteres)<br>
21. <input type="submit" name="enviar" value="Login">
22. </form>
23. </body>
24. </html>
O exemplo acima possui um formulário com dois campos: usuário e senha. Se queremos
verificar o tamanho de senha, concluímos que o evento onBlur deve estar contido dentro
27
desse objeto. Sendo assim, quando acontecer a perda de foco, seja ela provocada por um tab
ou clique fora do campo, a função checaTamanho() será chamada.
EX: onChange
O evento onChange será disparado sempre que houver uma alteração de valor no objeto em
que ele for declarado. Nosso próximo exemplo, irá monitorar uma caixa de seleção, e de
acordo com o valor escolhido, a página terá sua cor de fundo alterada.
01. <html>
02. <head>
03. <title>onChange</title>
04. </head>
05. <body>
06. <h3>O evento <b>onChange</b></h3><hr>
07. Escolha uma cor de fundo para sua página:<br>
08. <select name="cores" onChange="document.bgColor = this.value;">
09. <option selected value="white">Escolha sua cor</option>
10. <option value="red">Vermelha</option>
11. <option value="green">Verde</option>
12. <option value="blue">Azul</option>
13. <option value="yellow">Amarela</option>
14. </select>
15. </body>
16. </html>
Observem que o evento onChange está dentro da tag select. Cada vez que uma cor é
escolhida, o valor da select é mudado. Neste momento, a propriedade bgColor do objeto
document, recebe o valor escolhido e executa a operação.
EX: onClick
O evento onClick é bem intuitivo, e irá acontecer sempre que um objeto receber o clique do
mouse. Basicamente, todos os objetos estão sujeitos a ação deste evento. Imagens, botões e o
próprio document são exemplos comuns. A seguir, vamos reproduzir o exemplo visto acima,
28
no qual, utilizamos o evento onChange. Vamos modificá-lo para trabalhar da mesma forma,
mas agora, operando com o evento onClick.
01. <html>
02. <head>
03. <title>onClick</title>
04. </head>
05. <body>
06. <h3>O evento <b>onClick</b></h3><hr>
07. Escolha uma cor de fundo para sua página:<br>
08. <input type="button" name="cor1" value="Vermelha"
onClick="document.bgColor = '#FF0000';">
09. <input type="button" name="cor2" value="Verde"
onClick="document.bgColor = '#00FF00';">
10. <input type="button" name="cor3" value="Azul"
onClick="document.bgColor = '#0000FF';">
11. <input type="button" name="cor4" value="Preta"
onClick="document.bgColor = '#000000';">
12. </body>
13. </html>
29
7 Funções
Pode-se definir função como um grupo de instruções que executa uma determinada tarefa.
01. <html>
02. <head>
03. <title>O método prompt</title>
04. <script language="Javascript">
05. function cubo( a )
06. {
07. return a * a * a;
08. }
09. var numero = prompt( 'Informe o número a ser calculado:', '' );
10. document.write( 'O cubo de ' + numero + ' é ' + cubo( numero ) );
11. </script>
12. </head>
13. <body>
14. <center><h3>Calculando o cubo de um número!!!</h3></center>
15. </body>
16. </html>
Nas linhas 5, 6 e 7, declaramos a função cubo(), que recebe um parâmetro a e retorna este
valor multiplicado por ele mesmo por três vezes(cubo matemático). Na linha 9, criamos uma
variável número quer irá receber o resultado do método prompt. Este método possui dois
parâmetros, sendo que o segundo é opcional. O primeiro é a mensagem de interação com o
usuário. O segundo, é o valor inicial da caixa de texto que será aberta na janela de diálogo.
Embora seja opcional, é interessante que se coloque pelo menos uma string vazia( '' ), como
fizemos. Assim evitamos que apareça o texto undefined quando a caixa de diálogo for
carregada. Na linha 11, imprimimos o resultado, que é composto por um texto concatenado,
com os valores originais de numero e o resultado da função cubo().
Exemplo 8.1 - Abrindo automaticamente uma nova janela ao carregar uma página.
1. <HTML>
2. <HEAD>
3. <TITLE>testando janelas</TITLE>
4. <SCRIPT LANGUAGE= "JAVASCRIPT">
5. function minhaJanela()
6. {
7. janelaVazia = window.open('','teste',
8. 'height=100,width=200,menubar=yes,toolbar=yes,location=yes,scro
llbars=yes,status=yes,left=500,top=200')
9. }
31
10. </SCRIPT>
11. </HEAD>
12. <BODY onLoad = "minhaJanela()">
13. <P><font color="#ff0000">Uma nova janela foi aberta
ao carregar esta página!</font></P>
14. </BODY>
15. </HTML>
9 Formulários
9.1 Interagindo com o Usuário
A interação com o usuário se dá através de objetos para entrada de dados (textos), marcação
de opções (radio, checkbox e combo), botões e link's para outras páginas.
Conceitualmente, os objetos são divididos em: Input, Textarea e Select.
O objeto Input divide-se (propriedade Type) em:
1. Password
2. Text
3. Hidden
4. Checkbox
5. Radio
6. Button
7. Reset
8. Submit
A construção destes objetos é feita pela linguagem HTML (HiperText Mark-up Language).
Portanto, é aconselhável que sejam criados utilizando-se ferramentas de geração de páginas
HTML, como o HotDog ou, mais recomendado, FrontPage.
É o objeto para entrada de Senhas de acesso (password). Os dados digitados neste objeto são
criptografados e, só são interpretados (vistos) pelo "server", por razões de segurança.
Suas principais propriedades são: type, size, maxlength, name e value.
type=password : Especifica um campo para entrada de senha. Os dados digitados são
substituidos (na tela) por "*".
size : Especifica o tamanho do campo na tela.
maxlength : Especifica a quantidade máxima de caracteres permitidos.
name : Especifica o nome do objeto
value : Armazena o conteúdo digitado no campo.
Os eventos associados a este objeto são: onchange, onblur, onfocus e onselect.
Ex:
<form name="TPassword">
<p>Entrada de Senha<input type=password size=10 maxlength=10
name="Senha" value="">
</p>
</form>
São objetos que permitem ao usuário ligar ou desligar uma determinada opção.
Suas principais propriedades são: name, value e checked.
name : Especifica o nome do objeto
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 também serve para ativar comandos lógicos, testando-se a condição
de "checked".
checked : Especifica que o objeto inicialmente estará ligado
O único evento associado a este objeto é onclick.
São objetos que permitem ao usuário a escolha de apenas uma alternativa, diante de uma série
de opções.
Suas principais propriedades são: name, value e checked.
name : Especifica o nome do objeto. Para caracterizar uma mesma série de opções, todos os
objetos desta série têm que ter o mesmo "name".
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 também serve para
ativar comandos lógicos, testando-se a condição de "checked".
checked : Especifica que o objeto inicialmente estará ligado.
Para utilização deste objeto é importante o conhecimento de outras propriedades associadas:
Objeto.length : Retorna a quantidade de opções existentes na lista.
Objeto.[index].value : retorna o texto (value) associado a cada opção.
Objeto.[index].checked : retorna verdadeiro ou falso.
O único evento associado a este objeto é onclick.
Ex. 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 informações ao "server".
Este objeto é um botão que tem por finalidade submeter (enviar) o conteúdo dos objetos do
formulário ao "server". O formulário será submetido à URL especificada na propriedade
34
"action" do formulário.
Suas propriedades são: name e value.
name : Especifica o nome do objeto.
value : Especifica o nome que aparecerá sobre o botão
O único evento associado a este objeto é onclick. Embora se possa atrelar lógica a este evento,
não se pode evitar que o formulário seja submetido, portanto, não é aconselhável o seu uso.
Mais seguro e mais útil é a utilização da propriedade onSubmit do formulário. Este permite
que se atrele lógica e decida-se pela submissão ou não.
É um objeto para entrada de opções, onde o usuário, a partir de uma lista de alternativas,
seleciona uma ou mais opções.
Suas principais propriedades são: name, size, value e multiple.
name : Especifica o nome do objeto
size : Especifica a quantidade de opções que aparecerão na tela simultaneamente
value : Associa um valor ou string para cada opção (opcional)
multiple : Especifica a condição de múltipla escolha (usando-se a tecla Ctrl)
Para utilização deste objeto é importante o conhecimento de outras propriedades associadas:
Objeto.length : Retorna a quantidade de opções existentes na lista
Objeto.selectedindex : Retorna o "index" do objeto selecionado (primeiro = 0)
Objeto.options[index].text : retorna o texto externo associado a cada opção
Objeto.options[index].value : retorna o texto interno (value) associado a cada opção
Objeto.options[index].selected : retorna verdadeiro ou falso.
34. </p></form>
35. </BODY>
36. </HTML>
Bibliografia
• NEGRINO, Tom. Java script para World Wide Web – 4 ed. Editora Campus -2001
• NUCLEO TÉCNICO, Makrom Books. Java Script passo a passo lite... Editora Makrom
Books LTDA. São Paulo – 2001
• RAMALHO, José Antônio Alves. Java Script – prático e rápido. São Paulo – Editora
Berkeley 2000.
• SILVA, Osmar J. Java Script – Guia Prático do Webmaster. Editora Erica –2001.
• OLIVEIRO, Carlos A. J. – Faça um Site Java Script- Orientado por projeto. Scripts
baseados em Objetos. 2 ed. Ed. Érica, São Paulo – 2001.