You are on page 1of 32

DESARROLLO DE APLICACIONES WEB I Pgina: 1/32

Sesin Nro. 02
Tema: Java Scripts Ciclo: VI
Seccin:
Docente: Ing. Anbal Sardn Paniagua Fecha:

OBJETIVOS:
Aplicar sentencias Scripts para crear pginas Web Dinmicas
Conocer la sintaxis de JavaScripts
Descubrir los objetos de JavaScripts

REQUISITOS:
Computadoras con una versin de navegador Web que permita trabajar con Javascripts.
Editor de textos para escribir las sentencias HTML y JavaScripts
Plumn, mota y pizarra acrlica

INFORMACIN:

JAVA SCRIPTS

Un script es una secuencia de ordenes, en un determinado lenguaje, que puede ser ejecutado por un
cliente Web desde su navegador y visualizar el documento en que est contenido.

Actualmente los dos lenguajes de script mas usados en paginas Web son JavaScript y VBScript. La
inclusin de scripts en los documentos HTML hace que stos sean ms inteligentes. El contenido se
genera en forma dinmica, mientras que los valores introducidos en los formularios pueden comprobar
localmente, sin necesidad de contar con un servidor y emplear un cierto tiempo en ello.

NORMAS DEL CODIGO EN JAVASCRIPT

Las normas para poder escribir cualquier cdigo de JavaScript se basan en 5 puntos bsicos y que
debemos cumplir siempre. Estas normas son las siguientes:

1. Todo el cdigo (sentencias) esta dentro de funciones.


2. Las funciones se desarrollan entre las etiquetas <script> y </script>.
3. Las etiquetas <script> deben colocarse entre las etiquetas <head> y </head>.
4. Las etiquetas <title> no pueden estar colocadas entre las de <script>.
5. La llamada a la funcin se hace a travs de un evento de un elemento del documento.

JSCRIPT Y HTML

Antes siquiera de que conozcamos la sintaxis o una primera orden de JavaScript, debemos saber
primero cmo se incluye un Script dentro de un documento HTML.
El cdigo JavaScript se inserta directamente en nuestra pagina HTML.

Hay cuatro (4) maneras de hacerlo:


En el cuerpo del documento
DESARROLLO DE APLICACIONES WEB I Pgina: 2/32

En un archivo aparte
Usando manejadores de eventos
Haciendo una llamada a una funcin

A pesar del nombre, JavaScript, este lenguaje tiene poco que ver con Java.

USO DE FUNCIONES

Las funciones son un conjunto de sentencias (bloque de cdigo) que especifica al programa las
operaciones a realizar. Son tiles para evitar la repeticin de lneas y modular el cdigo. Para trabajar
con ellas hay que desarrollarlas y llamarlas cuando lo necesitemos.

SINTAXIS DEL DESARROLLO:

function nombre_funcion([var1,var2,varN])
{
sentencia(s);
}

SINTAXIS DE LA LLAMADA:

<elemento evento=nombre_funcion([val1,val2,valN]);>

nombre_funcion(valor1,valor2,valorN);

En el primero de los casos la llamada se realiza desde un elemento del documento. En el segundo
caso la llamada se realiza desde el interior de otra funcin que tambin es posible.

EJEMPLO 1 : Llamada a una funcin desde un elemento del documento.


<html>
<head>

<script>
function hola()
{
alert("Hola a todos");
}
</script>

<title> EJEMPLO01 JAVASCRIPTS </title>


</head>

<body onLoad=hola();>
</body>
</html>

EJEMPLO 2: Llamada a una funcin desde otra.


<html>
<head>
DESARROLLO DE APLICACIONES WEB I Pgina: 3/32

<script>
function hola()
{
alert("Hola a todos");
rehola();
}

function rehola()
{
alert(hola de nuevo a todos);
}
</script>

<title> EJEMPLO02 JAVASCRIPTS </title>


</head>

<body onLoad=hola();>
</body>
</html>

EVENTOS

Un evento es un mecanismo por el cual podemos detectar las acciones que realiza el usuario y llamar
automticamente a la funcin que tengamos asociada. Desde esta funcin realizaremos las acciones
que tengamos desarrolladas.

SINTAXIS:
< elemento nombre_evento = nombre_funcion([parametros]); >

La siguiente tabla muestra los eventos y manipuladores de JavaScript:

EVENTO SE PRODUCE AL..

onLoad Terminar de cargar una pgina o frame (entrar).


onUnLoad Descargar una pgina o frame (salir).
onAbort Abortar la carga de una pgina.
onError Producirse algn error en la carga de la pgina.
onMouseOver Pasar el ratn por encima de un enlace, rea o frame.
onMouseOut Dejar de estar el ratn encima de un enlace, rea o frame.
onMouseMove Mover el ratn por el documento.
onKeyUp Presionar una tecla.
onClick Hacer clic con el ratn.
DESARROLLO DE APLICACIONES WEB I Pgina: 4/32

onResize Dimensionar la ventana del navegador.


onMove Mover la ventana del navegador.
Modificar texto en un control de edicin. Sucede al perder el
onChange
foco.
onSelect Seleccionar texto en un control de edicin.
onFocus Situar el foco en un control.
onBlur Perder el foco un control.
onSubmit Enviar un formulario.
onReset Inicializar un formulario.

EJEMPLO 3:
<html>
<head>
<script>
function hola(){alert("Hola a todos");}
function adios(){alert("Adios a todos");}
</script>

<title> EJEMPLO03 JAVASCRIPTS </title>


</head>

<body onLoad=hola(); onUnload=adios();>


</body>
</html>

EJEMPLO 4:
<html>
<head>
<script>
function pulsa(){alert("EJEMPLO 04 JAVASCRIPTS ");}
function foco(){alert("Foco en la primera Caja");}
function tecla(){alert("Pulsada tecla");}
</script>

<title> EJEMPLO04 JAVASCRIPTS </title>


</head>

<body>
<input type="button" value="Autor" onClick=pulsa();>
<input type="text" size=5 onFocus=foco();>
<input type="text" size=5 onKeyPress=tecla();>
</body>
</html>
DESARROLLO DE APLICACIONES WEB I Pgina: 5/32

EJEMPLO 5:
<html>
<head>
<script>
function cambio(){alert("Cambiado el tamao");}
</script>

<title> EJEMPLO05 JAVASCRIPTS </title>


</head>

<body onResize=cambio();>
</body>
</html>

VARIABLES:

Espacio de memoria con un nombre reservado para guardar informacin mientras la pgina esta
cargada. El primer paso para poder trabajar con variables es declararlas, que es lugar donde se les da
su nombre y su mbito.

Para dar nombre a una variable debemos tener en cuenta las siguientes normas:
1. No pueden contener espacios.
2. Distingue entre maysculas y minsculas.
3. No pueden contener acentos, puntos o cualquier signo gramatical.
4. No pueden comenzar con un dgito ni contener la letra .
5. Nombre nico y exclusivo para cada variable salvo que estn es 2 funciones distintas.

El mbito de una variable define si la variable se podr utilizar en cualquier parte del documento (es
global). O si solo se podr utilizar dentro de una funcin determinada (es local). La declaracin de las
variables globales se realiza dentro de las etiquetas <script> pero fuera de cualquier funcin. La
declaracin de las variables locales se realiza dentro de la funcin que nos interese usar esa variable.
La sintaxis para declarar una variable es igual en ambos casos, la nica diferencia es el lugar donde
las declaramos. La siguiente lnea nos muestra como hacerlo:

var nombre_variable[=valor];

El tipo de variable es asignado automticamente por JavaScript. Depende del primer valor que se guarde
en la variable. Por tanto los tipos de variable existentes son los que mostramos en la siguiente tabla:
TIPO VALORES

numrica Cualquier tipo numrico


boolean True o False.
String Texto o letra.

Otro aspecto importante, es la conversin de datos, que en JavaScript es automtica. Transforma los
datos de todas la variables en una expresin segn el tipo de la primera variable. No es muy segura y
puede acarrear muchos problemas.
DESARROLLO DE APLICACIONES WEB I Pgina: 6/32

EJEMPLO:
num1=12;
num2=10;

x=num1+num2; // dara como resultado 1210.


y=num2+num1; // dara como resultado 22.

Para evitar problemas en las conversiones, se pueden utilizar mtodos ya implementados que
realizan la conversin de una manera ms segura.

TIPO DE CONVERSION SINTAXIS

De texto a numero entero. var_numerica=parseInt(var_texto);


De texto a coma flotante
var_numerica=parseFloat(var_texto);
(decimal).
De numrica a texto. Es automtica sin peligro.

EJEMPLO 6:
<html>
<head>
<script>
var global=100;

function uno()
{
var local_uno=1;
alert("Global " +global + Local +local_uno);
dos();
}

function dos()
{
var local_dos=2;
alert("Global " +global + Local +local_dos);
}
</script>

<title> EJEMPLO06 JAVASCRIPTS </title>


</head>

<body onLoad=uno();>
</body>
</html>

OPERADORES
DESARROLLO DE APLICACIONES WEB I Pgina: 7/32

JavaScript define TRES tipos de operadores: aritmticos, relacionales y lgicos. Tambin hay
definido un operador para realizar determinadas tareas, como las asignaciones.

ASIGNACION (=)

En JavaScript se puede utilizar el operador de asignacin en cualquier expresin valida. Solo con
utilizar un signo de igualdad se realiza la asignacin. El operador destino (parte izquierda) debe ser
siempre una variable, mientras que en la parte derecha puede ser cualquier expresin valida. Es
posible realizar asignaciones mltiples, igualar variables entre si y a un valor.

SINTAXIS:

variable=valor;
variable=variable1;
variable=variable1=variable2=variableN=valor;

ARITMTICOS

Pueden aplicarse a todo tipo de expresiones. Son utilizados para realizar operaciones matemticas
sencillas, aunque unindolos se puede realizar cualquier tipo de operaciones. En la siguiente tabla
se muestran todos los operadores aritmticos.

OPERADOR DESCRIPCIN

- Resta.
+ Suma
* Multiplica
/ Divide
% Resto de una divisin
-- Decremento en 1.
++ Incrementa en 1.
vari+=valor Incrementa el valor de vari.
vari-=valor decrementa el valor de vari.
vari*=valor Multiplica el valor de vari.

LGICOS Y RELACIONALES

Los operadores relacionales hacen referencia a la relacin entre unos valores y otros Los lgicos se
refiere a la forma en que esas relaciones pueden conectarse entre si. Los veremos a la par por la
estrecha relacin en la que trabajan.

OPERADORES RELACIONALES OPERADORES LGICOS


DESARROLLO DE APLICACIONES WEB I Pgina: 8/32

OPERADO
OPERADOR DESCRIPCIN DESCRIPCIN
R
< Menor que. && Y (AND)
> Mayor que. || O (OR)
<= Menor o igual. ! NO (NOT)
>= Mayor o igual
== Igual
! = Distinto

SENTENCIAS DE CONTROL

Es la manera que tiene JavaScript de provocar que el flujo de la ejecucin avance y se ramifique
en funcin de los cambios y estado de los datos.

IF-ELSE:

La ejecucin atraviesa un conjunto de estados boolean que determinan que bloques de cdigo se
ejecutan. Con la utilizacin de esta sentencia nunca se realizarn ambos bloques de cdigo.

SINTAXIS: En caso de ser una sola sentencia por parte las llaves son opcionales.

if (expresion-booleana)
{
Sentencia(s);
{
[else]
{
Sentencia(s);
}

La clusula else es opcional. La expresin puede ser de cualquier tipo y ms de una (siempre que
se unan mediante operadores lgicos).Otra opcin posible es la utilizacin de if anidados, es decir
unos dentro de otros compartiendo la clusula else.

EJEMPLO 7:

<html>
<head>
<script>
function ver()
{
var edad=parseInt(cedad.value);

if(edad<=18)
DESARROLLO DE APLICACIONES WEB I Pgina: 9/32

alert("No tienes acceso\nDebes tener 18");


else
alert("Bienvenido a la pagina");
}
</script>
<title> EJEMPLO07 JAVASCRIPTS </title>
</head>

<body>
Edad:
<input type="text" name="cedad" size="3" onBlur=ver();>
</body>
</html>

EJEMPLO 8:

<html>
<head>
<script>
function ver()
{
var edad=parseInt(cedad.value);

if(edad<=18)
alert(Abono Joven);
else
{
if(edad>=65)
alert(Abono 3 Edad);
else
alert(Abono normal);
}
}
</script>
<title> EJEMPLO08 JAVASCRIPTS </title>
</head>

<body>
Edad:
<input type="text" name="cedad" size="3" onBlur=ver();>
</body>
</html>

SWITCH:

Es una sentencia muy similar a if-else. Si los valores con los que se compara son nmeros se pone
directamente el pero si es texto se debe encerrar entre comillas. La sintaxis de esta sentencia es:
DESARROLLO DE APLICACIONES WEB I Pgina: 10/32

SINTAXIS:

switch (expresin){
case constante1:
sentencia(s);
break;
case constante2:
sentencia(s);
break;
case constante3:
sentencia(s);
break;
case constanteN:
sentencia(s);
break;
[default:]
sentencia(s);
}

El valor de la expresin se compara con cada una de las constantes de la sentencia case, si
coincide alguno, se ejecuta el cdigo que le sigue, y cuando ejecuta break sale de este bloque hasta
salir del switch. Si ninguno coincide se realiza el bloque default (opcinal), si no lo hay no se ejecuta
nada.
En el caso que varias sentencias case realicen la misma ejecucin se pueden agrupar, utilizando
una sola sentencia break. Evitamos de este modo duplicar lneas de cdigo. La sintaxis es la
siguiente:
SINTAXIS:

switch (expresin){
case constante1:
case constante5:
sentencia(s);
break;
case constante3:
sentencia(s);
break;
[default:]
sentencia(s);
}

EJEMPLO 9:

<html>
<head>
<script>
function espe()
{
DESARROLLO DE APLICACIONES WEB I Pgina: 11/32

var tipo=cespe.value;
switch(tipo)
{
case "humano":
alert("Eres un Humano");
break;
case "planta":
alert("Eres un Vegetal");
break;
case "animal":
alert("Eres del reino Animal");
break;
default:
alert("Especie Desconocida");
break;
}
}
</script>
<title> EJEMPLO09 JAVASCRIPTS </title>
</head>
<body>
ESPECIE:
<input type="text" name="cespe" size="20" onBlur=espe();>
</body>
</html>

WHILE:

Ejecuta repetidamente el mismo bloque de cdigo hasta que se cumpla una condicin de
terminacin. Hay cuatro partes en todos los bucles. Inicializacin, cuerpo, iteracin y condicin.
SINTAXIS:
[inicializacin;]
while(condicion[es])
{
cuerpo;
[iteracin;]
}

DO..WHILE:

Es lo mismo que en el caso anterior pero aqu como mnimo siempre se ejecutar el cuerpo del bucle
una vez, en el tipo de bucle anterior es posible que no se ejecute ni una sola vez el contenido de este.
SINTAXIS:

[inicializacin;]
do{
DESARROLLO DE APLICACIONES WEB I Pgina: 12/32

cuerpo;
[iteracin;]
}while(condicin);

FOR:

Realiza las mismas operaciones que en los casos anteriores pero la sintaxis es una forma
compacta. Normalmente la condicin para terminar es de tipo numrico. La iteracin puede ser
cualquier expresin matemtica valida. Si de los 3 trminos que necesita no se pone ninguno se
convierte en un bucle infinito.

SINTAXIS: En caso de ser una sola sentencia por parte las llaves son opcionales.

for (inicio;cond_fin;iteracin)
{
sentencia(S);
}

EJEMPLO10: El tipo de bucle puede ser cualquiera de los 3 (for, while, do..while).

<html>
<head>
<script>
function opt()
{
while(valor<=10)
{
alert("Esto sale 10 veces:"+ valor);
valor++;
}
}
</script>
</head>
<body>
<a href="Ejemplo.htm" onMouseOver=opt();>ir a uno</a>
</body>
</html>

PASO DE PARMETROS A FUNCIONES

Es el paso de informacin (parmetros) a una funcin. Cuando se realiza la llamada hay que indicar
entre los parntesis los valores que se van a enviar. Estos valores son recogidos por variables
locales que son declaradas dentro de los parntesis.

El utilizar este mtodo de trabajo, evita duplicar lneas, agrupamos el cdigo y nos hace ms sencillo
la modificacin y deteccin de errores en el cdigo. El modo de hacer esto es bsicamente igual que
cuando trabajos con las funciones, lo nico que cambia son los valores.
DESARROLLO DE APLICACIONES WEB I Pgina: 13/32

SINTAXIS DE LA LLAMADA:

<elemento evento=nombre_funcion(valor1,valor2,valorN);>

nombre_funcion(valor1,valor2,valorN);

SINTAXIS DEL DESARROLLO:

function nombre_funcion(var1,var2,varN)
{
sentencia(s);
}

Solo debemos tener en cuenta, que en la llamada y el desarrollo, el nmero de parmetros


coincida en ambos casos.

EJEMPLO 11:

<html>
<head>
<script>
function opt(valor)
{
if(valor==1)
alert("Vas a ir a uno");
else
alert("Vas a ir a dos");
}
</script>
<title> EJEMPLO011 JAVASCRIPTS </title>
</head>

<body>
<a href="Uno.htm" onMouseOver=opt(1);>ir a uno</a>
<a href="Dos.htm" onMouseOver=opt(2);>ir a dos</a>
</body>
</html>

EJEMPLO 12:

<html>
<head>
<script>
function opt(valor)
DESARROLLO DE APLICACIONES WEB I Pgina: 14/32

{
var cadena;
switch(valor){
case 1:
cadena=uno;
break;
case 2:
cadena=dos;
break;
case 3:
cadena=tres;
break;
case 4:
cadena=cuatro;
break;
}
alert(Vinculo +cadena);
}
</script>
<title> EJEMPLO12 JAVASCRIPTS </title>
</head>

<body>
<a href="Uno.htm" onMouseOver=opt(1);>uno</a>
<a href="Dos.htm" onMouseOver=opt(2);>dos</a>
<a href="Tres.htm" onMouseOver=opt(3);>tres</a>
<a href="Cuatro.htm" onMouseOver=opt(4);>cuatro</a>
</body>
</html>

MTODOS PARA FECHA Y HORA

Mtodos que nos van a permitir realizar una serie de operaciones o procedimientos utilizando fechas y
horas. Lo primero que tendremos que hacer, construir un objeto Date, para que posteriormente
podamos utilizar los mtodos de fecha y hora.

SINTAXIS DEL OBJETO:

var nombre_objeto=new Date();

MTODOS DE FECHA Y HORA


MTODO DESCRIPCIN
objeto.toGMTString();
objeto.getDate();
DESARROLLO DE APLICACIONES WEB I Pgina: 15/32

objeto.getMonth()+1;
objeto.getYear();
objeto.getHours();
objeto.getMinutes();
objeto.getSeconds();
Todas estas funciones tienen su pareja que nos permite modificar sus valores. Su sintaxis
es la misma, solo que ahora comienzan por set. Por ejemplo setMinutes(minutos) cambiar
los minutos de la hora del sistema.

EJEMPLO 13:

<html>
<head>
<script>
function fecha()
{
var obj_fecha=new Date();

var completo=obj_fecha.toGMTString();

var hora=obj_fecha.getHours();
var minuto=obj_fecha.getMinutes();
var segundo=obj_fecha.getSeconds();

var dia=obj_fecha.getDate();
var mes=obj_fecha.getMonth()+1;
var anis=obj_fecha.getYear();

alert(hora +":" +minuto +":" +segundo);


alert(dia +"/" +mes +"/" +anis);
alert(completo);
}
</script>
<title> EJEMPLO13 JAVASCRIPTS </title>
</head>

<body onLoad=fecha();>
</body>
</html>

EJEMPLO 14: Creacin de un reloj digital.

<html>
<head>
DESARROLLO DE APLICACIONES WEB I Pgina: 16/32

<script>
setTimeout("reloj()",100);
function reloj()
{
var tiempo=new Date();
var hora=tiempo.getHours();
var minuto=tiempo.getMinutes();
var segundo=tiempo.getSeconds();
var textohora=hora+":"+minuto+":"+segundo;
caja.value=textohora;
setTimeout("reloj()",500);
}
</script>
<title> EJEMPLO14 JAVASCRIPTS </title>
</head>

<body>
<input type="text" name="caja" size="10">
</body>
<html>

MTODOS MATEMTICAS

Contiene los mtodos para realizar cualquier tipo de operacin matemtica compleja. Solo
necesitamos llamar al mtodo deseado utilizando el objeto Math (ya esta creado). Los mtodos mas
tiles son:

MTODOS MATEMTICOS
MTODO DESCRIPCIN
var=Math.sin(valor); Seno de un ngulo. Expresado en radianes.
var=Math.cos(valor); Coseno de un ngulo. Expresado en radianes.
var=Math.tan(valor); Tangente de un ngulo. Expresado en radianes.
asin(),acos(),atan() Iguales a las anteriores pero devuelve arcos.
var=Math.abs(valor); Valor absoluto (su positivo).
var=Math.log(valor); Logaritmo decimal de valor.
var=Math.max(val1,val2); Devuelve el mayor de los dos.
var=Math.min(val1,val2); Devuelve el menor de los dos.
var=Math.pow(base,expon)
; Potencia de base
var=Math.sqrt(valor); Raz cuadrada del valor.
var=Math.round(valor); Redondea un valor con decimales.
DESARROLLO DE APLICACIONES WEB I Pgina: 17/32

var=Math.random()*interv
; Nmero aleatorio entre 0 y el intervalo.

EJEMPLO 15:

<html>
<head>
<script>
function opera(valor)
{
var resultado;
var num1=parseInt(cnum1.value);
var num2=parseInt(cnum2.value);

switch(valor)
{
case 1:
resultado=Math.sqrt(Math.abs(num1));
break;
case 2:
resultado=Math.pow(num1,num2);
break;
case 3:
resultado=Math.max(num1,num2);
break;
}
resul.value=resultado;
}
</script>
<title> EJEMPLO15 JAVASCRIPTS </title>
</head>

<body>
NUM1:
<input type="text" name="cnum1" size="5" value="0">
<br>
NUM2:
<input type="text" name="cnum2" size="5" value="0">
<br>
<br>
<input type="button" value="Raiz" onClick=opera(1);>
<input type="button" value="Potencia" onClick=opera(2);>
<input type="button" value="Mximo" onClick=opera(3);>
<br>
<br>
Resultado:<input type="text" name="resul" size="17">
</body>
</html>
DESARROLLO DE APLICACIONES WEB I Pgina: 18/32

EJEMPLO 16: Creamos nmeros aleatorios entre 1 y 10 para luego intentar acertarlo.

<html>
<head>
<script>
var secreto;

function genera()
{
secreto=Math.random()*10;
secreto=Math.round(secreto);
if(secreto==0)
secreto=10;
}

function juego()
{
var numero=parseInt(caja.value);
if(numero==secreto)
{
alert("Muy bien.\n A por otro");
genera();
}
else
{
if(numero<secreto)
alert("Es mayor");
else
alert("es menor");
}
caja.focus();
caja.value="";
}
</script>
<title> EJEMPLO16 JAVASCRIPTS </title>
</head>

<body onLoad=genera();>
NUMERO:<input type="text" name="caja" size="3">
<input type="button" value="Compara" onClick=juego();>
</body>
</html>

MTODOS PARA CADENAS

Mtodos destinados a realizar operaciones con cadenas de texto. Al igual que las funciones
DESARROLLO DE APLICACIONES WEB I Pgina: 19/32

matemticas vamos a necesitar un objeto. En este caso el objeto puede ser una variable normal y
corriente que va a contener texto o tambin podramos construir un objeto String. En ambos casos se
trabajar del mismo modo.

SINTAXIS DEL OBJETO String:

var nombre_objeto=new String();

MTODO DESCRIPCIN
objeto/var.length; Devuelve la longitud de la cadena.
objeto/var.charAt(indice); Devuelve la letra que este en la posicin del
ndice.
objeto/var.subString(ind1,ind
2); Devuelve el texto comprendido entre los ndices.
objeto/var.indexof(letra); Devuelve el ndice de la letra buscada.
objeto/var.replace(letr1,letr
2); Reemplaza letr1 por letr2.
objeto/var.toLowerCase(); Transforma en minsculas el texto del objeto.
objeto/var.toUpperCase(); Transforma en maysculas el texto del objeto.

EJEMPLO17: Pedimos una contrasea de mnimo 4 letras, la pasamos a maysculas y mostramos


la primera letra. Si la contrasea no llega a 4 letras le avisamos del mnimo de letras y
volvemos a pedir.

<html>
<head>
<script>
function pasa()
{
var contra=T.value;
var nletras=contra.length;
if(nletras<4)
{
alert("Mnimo 4 letras");
T.value="";
nletras=0;
}
if(nletras!=0)
{
contra=contra.toUpperCase();
alert("La primera es: "+contra.charAt(0));
}
}
</script>
<title> EJEMPLO17 JAVASCRIPTS </title>
</head>
DESARROLLO DE APLICACIONES WEB I Pgina: 20/32

<body>
<input type="password" name="T" size="9" onBlur=pasa();>
</body>
</html>

OBJETOS PREDEFINIDOS

Cuando se carga un documento en el navegador, se crean automticamente una coleccin de Objetos


predefinidos, tiles para describir el documento sobre el que se trabaja, la ventana del navegador y
todo tipo de elementos de las pginas web. Se agrupan en los objetos window, document, history,
navigator y screen. Tambin hay toda una coleccin de objetos para utilidades varias.

WINDOW:
Nos permite definir las caracterstica de la ventana del navegador o de las ventanas que
construyamos nuevas. A continuacin tenemos los mtodos mediante los cuales podremos definir
sus caractersticas.

METODO DESCRIPCIN SINTAXIS


open Abrir ventanas. var=window.open(url,name,atrbs);
close Cerrar ventanas. var.close();
opener Indica si se abrio. var_boolean=var.opener SI devuelve true
closed Indica si se cerr. var_boolean=var.closed SI devuelve false
Location Enlaza con una pgina. var.Location=url;
print Imprime el documento. var.Print();
alert Abre ventanas alert. var.alert(datos);
confirm Abre ventanas confirm. var.confirm(datos);
prompt Abre ventanas prompt. var.prompt(datos,val inici);
status Texto en barra estado. var.status=mensaje;
showModalDialog Crea ventana modal. var=window.showModalDialog(url,atrbs);

La variable solo es necesaria cuando sea una ventana distinta a la del navegador.

ATRIBUTOS DE SHOWMODALDIALOG (atrbs)


ATRIBUTO ELEMENTO
dialogWidth:valor Define el ancho.
dialogHeight:valor Define el alto.
dialogTop:valor Define posicin superior
DESARROLLO DE APLICACIONES WEB I Pgina: 21/32

dialogLeft:valor Define posicin inferior.


Todos los atributos que se pongan irn dentro de las
comillas y separados por un espacio entres ellos. Todos ellos
son opcionales.

ATRIBUTOS DE OPEN (atrbs)


ATRIBUTO ELEMENTO
toolbar=[yes|no] Barra de herramientas.
location=[yes|no] Barra de direcciones.
directories=[yes|no] Histrico.
channelmode==[yes|no] Barra de canales.
menubar=[yes|no] Barra de mens.
status=[yes|no] Barra de estado.
scrollbars=[yes|no] Barras de Scroll.
resizable=[yes|no] Dimensionable.
width=pixels Ancho de ventana.
height=pixels Alto de ventana.
fullscreen=[yes|no] Maximizada.
top=pixels Posicin superior.
left=pixels Posicin izquierda

Todos los atributos que se pongan irn dentro de las comillas y


separados por un espacio entres ellos. Todos ellos son opcionales.

EJEMPLO 18:

<html>
<head>
<script>
var v1;
function abre()
{
v1=window.open("ab.htm","v","status=yes resizable=yes);
v1.status="Ventana creada para publicidad";
status="Ventana Estandar del Navegador";
}

function cierra()
DESARROLLO DE APLICACIONES WEB I Pgina: 22/32

{
v1.close();
}
</script>
<title> EJEMPLO18 JAVASCRIPTS </title>
</head>

<body onload=abre();>
<input type="button" value="Cerrar" onClick=cierra();>
</body>
</html>

EJEMPLO 19:

<html>
<head>
<script>
var v1;

function abre()
{
v1=window.open("ab.htm","v","status=yes resizable=yes);
}

function opera(valor)
{
switch(valor)
{
case 1:
cargapagina();
break;
case 2:
print();
break;
case 3:
var modal;
modal=window.showModalDialog("ab2.htm");
break;
}
}

function cargapagina()
{
var cerrada=v1.closed;

if(cerrada==false)
v1.Location="ab2.htm";
else
DESARROLLO DE APLICACIONES WEB I Pgina: 23/32

alert("Error.\nv1 debe estar abierta.");


}
</script>
<title> EJEMPLO19 JAVASCRIPTS </title>
</head>

<body onload=abre();>
<input type="button" value="Cargar onClick=opera(1);>
<br>
<input type="button" value="Imprime" onClick=opera(2);>
<br>
<input type="button" value="Modal" onClick=opera(3);>
</body>
</html>

DOCUMENT:

Objeto dependiente de window, es quien contiene las propiedades para trabajar con el documento
y su contenido, es decir, la pgina web. Sus mtodos pueden ser usados tambin por window. Y
estos son con los que normalmente se trabaja.

METODO DESCRIPCION SINTAXIS


write Escribe en el documento. document.write(dato);
writeln Escribe y salta de lnea. document.writeln(dato);
alinkColor Color de enlace (sin usar). document.alinkColor=color;
linkColor Color de enlace (activo). document.linkColor=color;
vlinkColor Color de enlace (usado). document.vlinkColor=color;
bgColor Color de fondo. document.bgColor=color;
fgColor Color del texto. document.fgColor=color;
referrer Url del documento anterior. var=document.referrer;
location Url del documento actual. var=document.location;
lastModified Fecha modificacin. var=document.lastModified;

EJEMPLO 20:

<html>
<head>
<script>
function fondo(colores){document.bgColor=colores;}
function texto(colores){document.fgColor=colores;}
</script>
DESARROLLO DE APLICACIONES WEB I Pgina: 24/32

</head>

<body>
COLOR DEL FONDO <br>
BLANCO<input type="radio" name="F" onClick=fondo("white");>
<br>
ROJO<input type="radio" name="F" onClick=fondo("red");>
<br>
AZUL<input type="radio" name="F" onClick=fondo("blue");>
<br>
<br>
COLOR DEL TEXTO
NEGRO<input type="radio" name="T" onClick=texto("black");>
<br>
GRIS<input type="radio" name="T" onClick=texto("gray");>
<br>
VERDE<input type="radio" name="T" onClick=texto("green");>
</body>
</html>

EJEMPLO 21:

<html>
<head>
<script>
var v1;

function ver()
{
var fecha;
var urlantes;
var urlactual;

fecha=v1.document.lastModified;
urlantes=v1.document.referrer;
urlactual=v1.document.location;

v1.document.writeln("Creada en " +fecha);


v1.document.writeln("Direccin " +urlactual);
v1.document.write("Url anterior " +urlantes);
}

function abre()
{
v1=window.open("ab.htm","v","status=yes resizable=yes);
}
</script>
<title> EJEMPLO21 JAVASCRIPTS </title>
DESARROLLO DE APLICACIONES WEB I Pgina: 25/32

</head>

<body onLoad=crea();>
<input type="button" value="Info. Pag" onClick=ver();>
</body>
</html>

PROCEDIMENTO:

1 JSCRIPT EN EL CUERPO DEL DOCUMENTO

Cree el proyecto javascript.


Cree el archivo pagina1.html y escriba el siguiente cdigo:

<html><head><title>Java Script</title></head>
<body>
<SCRIPT LANGUAGE=JavaScript>
document.write("Bienvenidos a Java Script");
</SCRIPT>
</body>
</html>

2. JSCRIPT EN UN ARCHIVO APARTE

Cree el archivo pagina2.html y escriba el codigo:

<html><head><title>Java Script</title></head>
<body>
<SCRIPT SRC=codigo.js>
</SCRIPT>
</body>
</html>

Cree el archivo codigo.js y escriba el codigo:

document.write("<h1>Bienvenidos nuevamente a Javascript</h1>");


document.write("<br>Esta es una llamada remota");

3. JSCRIPT USANDO EVENTOS

Los comandos de JavaScript son evaluados inmediatamente al cargarse la pagina. Las funciones
son almacenadas, pero no ejecutadas, hasta cierto evento.

Cree el archivo pagina3.html y escriba:

<HTML>
<HEAD><TITLE>Java Script </TITLE></HEAD>
<BODY>
<INPUT TYPE=button VALUE="Saludar"
DESARROLLO DE APLICACIONES WEB I Pgina: 26/32

onClick="window.alert('Bienvenidos a Java Script')"/>


</BODY>
</HTML>

4. JSCRIPT USANDO FUNCIONES

Modifique el archivo pagina3.html con el siguiente codigo:

<html><head><title>titulo</title>

<script language=javascript>
function ver()
{
alert("bienvenido a java scripts !");
}
</script>
</head>
<body>
<input type=button value="saludar" onclick="ver()"/>
</body>
</html>

Observa que aqu se defini la funcin en la cabecera, pero recin se ejecuta al hacer clic en el
enlace, que es el evento que llama a la funcin a la cual se le para un parmetro.

NOTA:
Excepto en texto encomillado, JavaScript es sensible a maysculas y minsculas, por lo que tendrs
que tener el cuidado al usar por ejemplo document.write de escribirlo as, en minsculas o no
se interpretara. Cualquier error simplemente es ignorado. Se puede usar la comilla simple para
los valores de atributos.

5. VALIDAR TEXTO EN UN FORMULARIO

Escriba el siguiente cdigo en la pagina validarFormulario.html:

<html>
<head><title>Validar Formulario</title>
<SCRIPT LANGUAGE=JavaScript>
function validar(form)
{
if (form.nombre.value == "")
{
alert("No olvides escribir tu nombre");
form.nombre.focus();
return false;
}
alert("Gracias por llenar el formulario.");
form.submit();
}
</SCRIPT>

</head>
DESARROLLO DE APLICACIONES WEB I Pgina: 27/32

<body>
<form action="">
<br/>Escribe tu nombre : <input type="text" name="nombre"/>
<br/>Escribe tu edad : <input type="text" name="edad"/>
<br/><input type="button" value="Enviar"
onClick="validar(this.form)"/>
</form>
</body>
</html>

6. SELECCIONAR UNA FILA DE CASILLAS

Cree la pagina SeleccionMultiple.html y escriba:

<html>
<head><title>Seleccionar casillas</title>
<script language="javascript">
function seleccionar()
{
var form = document.listado;
var n = form.elements.length;
var estado = form.chkSeleccionar.checked;
for (var i = 1; i < n; i++)
{
var e = form.elements[i];
if (e.type == 'checkbox')
e.checked = estado;
}
}
</script>

</head>
<body>
<h1>Seleccion multiple con JScript</h1>
<form name="listado">
<table border=1 width=100%>
<tr>
<th><input type="checkbox" name="chkSeleccionar"
onclick="seleccionar()"/></th>
<th>Interpretes o Grupos</th>
</tr>
<tr>
<td><input type="checkbox" name='check1'/></td>
<td>Gian Marco</td>
</tr>
<tr>
<td><input type="checkbox" name='check2'/></td>
<td>Libido</td>
</tr>
<tr>
<td><input type="checkbox" name='check2'/></td>
DESARROLLO DE APLICACIONES WEB I Pgina: 28/32

<td>Mar de copas</td>
</tr>
</table>
<input type="submit"/>
</form>
</body>
</html>

7. PINTAR LA FILA ACTUAL EN UNA TABLA

Modifique la pagina SeleccinMultiple.html para pintar de color la fila ubicada debajo del
puntero de ratn, de acuerdo al siguiente cdigo:

<html>
<head><title>Colorear fila actual</title></head>
<body>
<h1>Colorear fila con JScript</h1>
<form name="listado">
<table border=1 width=100%>
<tr>
<th><input type="checkbox" name="chkSeleccionar"
onclick="seleccionar()"/></th>
<th>Interpretes o grupos</th>
</tr>
<tr onmouseover="this.style.backgroundColor='#99CCFF'"
onmouseout ="this.style.backgroundColor='#FFFFFF'">
<td><input type="checkbox" name='check1'/></td>
<td>Libido</td>
</tr>
<tr onmouseover="this.style.backgroundColor='#99CCFF'"
onmouseout ="this.style.backgroundColor='#FFFFFF'">
<td><input type="checkbox" name='check2'/></td>
<td>Pedro Suarez </td>
</tr>
<tr onmouseover="this.style.backgroundColor='#99CCFF'"
onmouseout ="this.style.backgroundColor='#FFFFFF'">
<td><input type="checkbox" name='check2'/></td>
<td>Dolores Delirio</td>
</tr>
</table>
<input type="submit"/>
</form>
</body></html>

8. RADIO BOTONES (RADIO).

El ordenador generar un nmero aleatorio comprendido entre 1 y 3. Nosotros deberemos pulsar


en el radio botn que deseemos. Si acertamos ganamos 100pts, cada fallo perderemos 50pts. Si
acertamos el ordenador automticamente generar otro nmero para seguir jugando.

<html>
DESARROLLO DE APLICACIONES WEB I Pgina: 29/32

<head>
<script>
var banco=100;
var num_secreto=0;

function genera()
{
num_secreto=Math.random()*3;
num_secreto=Math.round(num_secreto);
if(num_secreto==0)
num_secreto=3;
}

function juego(valor)
{
if(num_secreto==valor)
{
alert("Enhorabuena");
banco+=100;
genera();
}
else
{
banco-=50;
}
caja.value=banco;
}
</script>
</head>

<body onload=genera();>
Apuesta:
1<input type="radio" name="R1" onClick=juego(1);>
<br>
2<input type="radio" name="R1" onClick=juego(2);>
<br>
3<input type="radio" name="R1" onClick=juego(3);>
<br>
banco:
<input type="text" name="caja" size="20" value="100">
</body>
</html>

9. CAJA DE CONTRASEA (PASSWORD).

Escribiremos una palabra en una caja de contrasea, y por cada letra que pongamos, en una
caja de texto normal, iremos viendo las letras puestas en la caja de contrasea.

<html>
<head>
<script>
function pasa()
DESARROLLO DE APLICACIONES WEB I Pgina: 30/32

{
var temporal;
temporal=secre.value;
caja.value=temporal;
}
</script>
</head>
<body>
CONTRASEA:
<input type="password" name="secre" size="5" onKeyUp=pasa();>
<br>
NORMAL:
<input type="text" name="caja" size="5">
</body>
</html>

10. LISTA O LISTA DESPLEGABLE (SELECT).

Mostramos una lista desplegable o lista (el modo de trabajo es el mismo). De la lista
desplegable elegimos un destino que nos mostrar informacin del destino elegido. Ms
adelante trabajaremos con enlaces.

<html>
<head>
<script>
function viaje()
{
var valor=destino.value;
var cadena;

switch(valor)
{
case "1":
cadena="Quito. Precio: 27.900";
break;
case "2":
cadena="Moscu. Precio: 17.000";
break;
case "3":
cadena="Paris. Precio: 57.900";
break;
case "4":
cadena="Roma. Precio: 17.900";
break;
}
alert(cadena);
}
</script>
</head>
<body>
<select size="1" name="destino" onChange=viaje();>
<option value="1">Quito</option>
DESARROLLO DE APLICACIONES WEB I Pgina: 31/32

<option value="2">Moscu</option>
<option value="3">Paris</option>
<option value="4">Roma</option>
</select>
</body>
</html>

11. LISTA O LISTA DESPLEGABLE (SELECT). (reducido).

<html>
<head>
<script>
function viaje()
{
var valor=destino.value;
alert(valor);
}
</script>
</head>

<body>
<select size="1" name="destino" onChange=viaje();>
<option value="Quito. Precio:17.900">Quito</option>
<option value="Moscu. Precio:17.000">Moscu</option>
<option value="Paris. Precio:57.900">Paris</option>
<option value="Roma. Precio:27.900">Roma</option>
</select>
</body>
</html>

PROBLEMAS PROPUESTOS

Tenemos a cargo la creacin de una pgina Web que le permita al alumno de la facultad de
ingenieras, matricularse va Web.
La pgina de inscripcin deber capturar los siguientes datos:
o Cdigo del alumno (cadena de exactamente 1 carcter y 4 dgitos, ejm: A2003.
validar al perder al foco)
o Apellidos y Nombres (convertir a maysculas al perder el foco)
o Correo electrnico (debe contener @ y . ejm: alguien@gmail.com)
o Semestre (al seleccionar el semestre, se activara la columna con los
cursos del semestre, las dems columnas permanecern
desactivadas)
o Seccin
o Turno
o Tipo de matricula (regular = 20 crditos, especial por crditos = 11 crditos)
o Cursos
En una tabla se mostrarn en columnas los cursos de cada semestre (en una
columna los cursos de un determinado semestre). El alumno marcar con un
DESARROLLO DE APLICACIONES WEB I Pgina: 32/32

check, cada uno de los cursos que desea llevar.


Sobre cada columna se mostrar un check (Todos) para seleccionar o
deseleccionar a todos los cursos del semestre.
Cada curso tendr un crdito asignado.
Al enviar los datos se debe validar que la suma de los crditos de los cursos
seleccionados, no exceda el total de crditos asignados al tipo de matricula.
o Tendr 2 botones, uno para enviar los datos y otro para Borrar (reset) los datos
ingresados.
o Al enviar los datos se debe validar que los campos: Cdigo, Apellidos, Nombres, Correo
electrnico no estn vacos. Mostrar un mensaje que indique que campo falta llenar y le
asignar el foco de atencin.
o Si todos los campos son vlidos debe mostrar un mensaje indicando que los datos han
sido aceptados.

You might also like