Objetivos
Aprender a añadir JavaScript a una página html para mejorar el aspecto de las páginas web.
Aprender a abrir y cerrar ventanas.
Escribir y usar funciones JavaScript con variables, objetos y estructuras de control y cálculos matemáticos.
Aprender a validar formularios.
Mostrar mensajes en la barra de estado
Aprender a crear páginas html dinámicamente con JavaScript
Enlaces a otros tutoriales
http://www.programacion.net/tutoriales/javascript/
http://www.iec.csic.es/criptonomicon/javascript/javascript.html
http://www.webteacher.com/javascript/
No puede leer, escribir, crear, borrar o listar ficheros (excepto cookies).
No puede establecer conexión directa con otras máquinas (excepto enviar correo).
<script language="JavaScript">
código javaScript
</script>
<script language="JavaScript">
//document es la hoja en blanco que muestra el navegador
document.write("Su navegador soporta JavaScript");
//alert muestra una ventana con un texto como demostración del buen funcionamiento
alert("Hola, soy la primera ventana de JavaScript");
</script>
<noscript> su navegador no soporta JavaScript </noscript>
- <script language="JavaScript">
var texto="La fecha de hoy es: "; //declaración de variables
var hoy= new Date();
var dia= hoy.getDate();
var mes= hoy.getMonth()+1;
var an= hoy.getFullYear();
alert(texto + "\n" + dia + "-" + mes + "-" + an);
function conversor() //declaración de función
{
var euro= 166.386;
var precio= 200;
var resultado;
resultado= precio / euro; //cálculo matemático sencillo
alert("Si tengo " + resultado + " euros, eso son " + precio + " pesetas");
}
conversor(); //llamada a la función
//la variable resultado es local a la función y no debe verse ahora:
alert("repetimos ..."+ resultado);
</script>
<head>
<script language="JavaScript">
function saludo(){
if (document.formu.mes.value=="julio")
{alert("vete a la playa");}
else if (document.formu.mes.value=="enero")
{alert("vete a la sierra");}
else alert("vete al campo");
}
</script>
<form action="" name="formu"> Elige un mes para ver un consejo
<select name="mes" size="1" onchange="saludo();">
<option value="enero">enero </option>
<option value="noviembre">noviembre </option>
<option value="julio">julio </option>
</select>
</form>
<script language="JavaScript">
{/*se pide al usuario que teclee un número y se compara con el aleatorio generado. Gana el mayor */
while(confirm("¿Deseas jugar?"))
y= prompt("Escribe un número del 0 al 9");
x= Math.ceil(Math.random()*10); //se genera y redondea un aleatorio
alert("Yo digo el número " + x);
if (x== Math.max(x,y))
{alert ("gano yo, por ser mi número el mayor de los dos");}
else
{alert("ganas tu, por ser tu número el mayor de los dos");}
}
</script>
<script language="JavaScript">
//para crear un objeto, se debe definir una función y luego llamarla con new
function crearCliente(nombre, ciudad, edad, email, sexo)
{
//función de definición del tipo de objeto
this.nombre=nombre;
this.ciudad=ciudad;
ed=parseInt(edad,10); //obtención de un número dentro de una cadena
if (isNaN(ed)) //si no es un número, la edad se pone a 0
{ alert("La edad será 0 porque no has tecleado un número ");
this.edad=0;}
else
{this.edad=ed;}//la dirección de correo debe contener una @ y un punto
if (email.indexOf("@")==-1 || email.indexOf(".")==-1)
{ alert("la dirección de correo será ' ' por ser erronea");
this.email="";
}
else
{this.email=email;}
this.sexo=sexo;
}
function confirmar(n, c, e, m, s)
{//muestra un mensaje para decir que se ha creado el cliente y pone fondo rojo,
cli= new crearCliente(n, c, e, m, s); //creación del objeto
document.write("creado el cliente ");
document.bgColor="red";
}
</script>
</head>
<body>
<br>
<!--formulario de petición de datos-->
<form action="" name="formu"onsubmit="confirmar(document.formu.nombre.value,
document.formu.ciudad.value, document.formu.edad.value,
document.formu.email.value, document.formu.sexo.value);">
<!--llamada a la función que crea el objeto cuando se pulsa el botón submit-->
<h2>Introducción de datos de clientes</h2><br><br>
Nombre <input type="text" name="nombre" size="20">Ciudad <input type="text" name="ciudad" size="20"> <br><br>
Edad <input type="text" name="edad" size="20">e-mail <input type="text" name="email" size="20">
Sexo <input type="radio" name="sexo" value="hombre"> hombre
<input type="radio" name="sexo" value="mujer"> mujer <br><br>
<input type="submit" value="Confirmar los datos"></form>
</body>
if (email.indexOf("@")==-1 || email.indexOf(".")==-1)
<script language="JavaScript">
//objetos arrays multidimensionales
lunes= new Array("ingles", "lengua", "dibujo");
martes= new Array("matemáticas", "lengua", "física");
miercoles= new Array(" ", "física", "dibujo");
horario= new Array(lunes, martes, miercoles);
document.write("<b>Horario de Clases</b><br><br>");
//con write se escribe código html dentro del objeto document
document.write("<table border=2>
<tr bgcolor='orange'>
<td>LUNES</td><td>MARTES</td><td>MIÉRCOLES</td></tr>");
for(i=0;i<horario.length;i++)
{
document.write("<tr>");
for(j=0;j<lunes.length;j++)
{document.write("<td>"+ horario[j][i]+" </td>");}
document.write("</tr>");
}document.write("</table>");
</script>
<script language="JavaScript">
function abrirVentana(){
ventana= open("TutorialJavaScript_archivos/pru1.html","nueva","width=300,heigth=120");
// open abre la ventana que se indica en la dirección dada
}</script>
</head>
<body>
<form> Pulsar el botón para abrir una ventana
<input type="button" value="Cocodrilo" onclick="abrirVentana()">
</form>
</body>
<img src="cocodrilo.jpg" alt="cocodrilo" width="200" height="267"
onclick="self.close()">
<script language="JavaScript">
function abrirUrl()
{
location='TutorialJavaScript_archivos/pru2.html';} /* el objeto location es la url. En la misma ventanaabre otra url */
</script>
</head>
<body>
<a href="javascript:abrirUrl()">
<img src="alhambra.jpg" name="alam" alt="Alhambra"border="0" align="left" width="244" height="95">
</a> Pulsar la fotografía para ver el interior
</body>
</html>
<script language="JavaScript">
function volver()
{
history.back() }; //se usa la función back del objeto history
</script>
</head>
<body>
<form> <input type="button" value="Página anterior"onclick="volver()">
</form>
</body>
</html>
<head>
//las imágenes se guardan en una matriz llamada images, asociada al documento
//primero hay que definir o realizar la "precarga" de las imágenes
imagen1= new Image //se crean objetos Image y se les asocia un fichero
imagen1.src="arbol.gif"
imagen2= new Image
imagen2.src="tronco.gif"
var i=1;
function cambioIcono(){
if (i==1)
{ document.images['icono'].src= imagen1.src;
i=2;}
else
{ document.images['icono'].src= imagen2.src;
i=1;}
</head>
<body>
<img src="arbol.gif" name="icono"
onmouseover="cambioIcono()" //imagen cuando el ratón está encimaonmouseout="cambioIcono()" //imagen cuando el ratón está fuera
width="32" height="32">
El icono cambia cuando se pasa el ratón sobre él</body>
<a onmouseover="status='Cómo añadir JavaScript dentro de una página web'; return true"
href="#anadirJavaScript">Añadir JavaScript a una página</a>
<head>
...
var texto=" --- Bienvenido a la pagina WEB mía ---";
var longitud=texto.length;function BarraEstado(){
texto=texto.substring(1,longitud)+texto.charAt(0);
window.status = texto ;
setTimeout("BarraEstado()",100);}
</head>
<body onload=BarraEstado():>
....
<body>
<script SRC="fecha_barraEstado.js"></SCRIPT>
.....
<script language="JavaScript">
EscribeFecha(); //función definida dentro del fichero fecha_barraEstado.js
</script>
¿Qué relación hay entre Java y JavaScript?
¿Aceptan JavaScript todos los navegadores?
¿Es JavaScript orientado a objetos?
¿Dónde se deben declarar las funciones?
¿Dónde se suele llamar a las funciones?
¿Cómo se validan los datos de un formulario?
¿Cómo se crea una página web dinámicamente con JavaScript?
¿Cómo se usa la historia de visitas del navegador?
¿Qué ventanas pueden abrirse?
¿Para qué usar ficheros con extensión .js?
Este tutorial ha sido realizado por María José Rodríguez Fórtiz, profesora del departamento de Lenguajes y Sistemas Informáticos de la Universidad de Granada.
La documentación utilizada para prepararlo ha sido:
Deliberadamente se han escrito todos los apuntes en un único documento (salvo dos páginas de demostración para mostrar apertura de ventanas).
Se ha hecho así para facilitar la impresión por parte del alumno, así como para usarlo durante las clases de teoría.
No se ha usado ningún fondo y se ha evitado en lo posible usar tablas, y diferentes estilos de texto para simplificar el código.
Por favor, si utilizas este tutorial recuerda quién lo hizo y el tiempo que le dedicó.
Para cualquier comentario o sugerencia, podéis escribirme aquí
Granada, septiembre de 2005