DE
MARCAS
APUNTES
Apuntes HTML
Una pagina web se compone de varias parte, dentro de las cuales se mete el contenido, dentro de HEAD es donde van las
especificaciones de la pagina y el titulo de la misma (el nombre que nos muestra el Navegador en su barra) y dentro de BODY
metemos todo el contenido de la pagina, seria algo as (En azul los comentarios que se pueden poner dentro de la pagina pero
que el Navegador web no muestra):
<!--la siguiente linea indica el estandar que utilizamos en la pagina, el html 4 estricto-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<!--la siguiente linea, le dice al navegador que use el conjunto de caracteres europeo occidental, el nuestro-->
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title>"Aqu el nombre de la pagina"</title>
</head>
<body>
"Aqu va el contenido, Texto, fotos, videos, Formularios, etc.
<!--Para validar la pagina, vamos a http://validator.w3.org/#validate_by_upload+with_options
y una vez validada nos da el codigo que se pega a continuacion-->
<p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/validhtml401" alt="Valid HTML 4.01 Strict" height="31" width="88"></a></p>
</body>
</html>
Los Formularios
<!--la siguiente linea indica el estandar que utilizamos en la pagina, el html 4 estricto-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<!--la siguiente linea, le dice al navegador que use el conjunto de caracteres europeo occidental, el nuestro-->
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title>Formularios HTML</title>
</head>
<body>
<!--Para poner encabezados o titulares que destaquen (texto mayor y en negrita) se usa <h1> hasta <h5> y
>
<h1> Ejercicio Formularios </h1>
<p><br></p>
<H6>--
<!--Para poner un formulario y que nos envie el resultado a una cuenta de correo, pondriamos lo siguiente-->
<form action="mailto:txaba@gmail.com" method="post">
<!--La caja donde se introducen los datos seria con input type="text" con size el tamaño de la
caja y con maxlength el limite de caracteres, en este tipo de comandos no hay etiqueta de final, para XHTML
se usaria lo mismo pero con espacio y / al final, seria <input type="text" name="usu" size="10"
maxlength="15" />-->
<p>
Teclee su nombre:
<input type="text" name="usu" size="10" maxlength="15">
</p>
<!--Cuando queremos que dentro del cuadro donde vamos a escribir el nombre, se visualice un texto lo
hacemos como value="texto",de la siguiente manera-->
<p>
Teclee su nombre:
<input type="text" name="usu" size="10" maxlength="15" value="Dña">
</p>
<!--cuando queremos meter un dato tipo contraseña, que quede oculto al meterlo se pone con
"password"-->
<p>
Teclee su clave:
<input type="password" name="pas" size="10" maxlength="10">
</p>
<!--cuando queremos preguntar por varias opciones y que se marquen, usamos type="checkbox"-->
<p>
Selecciona los Lenguajes que conoces: <br>
<input type="checkbox" name="java"> Java <br>
<input type="checkbox" name="html"> Html <br>
<input type="checkbox" name="Cobol"> Cobol <br>
<input type="checkbox" name="Pascal"> Pascal <br>
</p>
<!--cuando queremos que ya haya alguna opcion marcada, teniendo como referencia el ejemplo
anterior, añadimos checked a la que queremos que este marcada-->
<p>
Selecciona los Lenguajes que conoces: <br>
<input type="checkbox" name="java"> Java <br>
<input type="checkbox" name="html" checked="checked"> Html <br>
<input type="checkbox" name="Cobol"> Cobol <br>
<input type="checkbox" name="Pascal"> Pascal <br>
</p>
<!--cuando solo queremos que se marque una opcion, usamos type="radio" en name se pone lo mismo
en todos y en value numeramos de 1 a los que haya-->
<p>
Selecciona tu nivel maximo de Estudios: <br>
<input type="radio" name="nivel" value="1"> Sin Estudios <br>
<input type="radio" name="nivel" value="2"> Bachiller <br>
<input type="radio" name="nivel" value="3"> Grado Medio <br>
<input type="radio" name="nivel" value="4"> Grado superior <br>
<input type="radio" name="nivel" value="5"> Universitario <br>
</p>
<!--siguiendo el ejemplo anterior, Si queremos que haya una opcion marcada por defecto
añadiriamos checked-->
<p>
Selecciona tu nivel maximo de Estudios: <br>
<input type="radio" name="nivel" value="1"> Sin Estudios <br>
<input type="radio" name="nivel" value="2" checked="checked"> Bachiller <br>
<input type="radio" name="nivel" value="3"> Grado Medio <br>
<input type="radio" name="nivel" value="4"> Grado superior <br>
<input type="radio" name="nivel" value="5"> Universitario <br>
</p>
<!--siguiendo el ejemplo anterior, Si queremos que una opcion no se pueda marcar usamos
disabled="disabled", vale tambien para el resto de formularios-->
<p>Selecciona tu nivel maximo de Estudios: <br>
<input type="radio" name="nivel" value="1" disabled="disabled"> Sin Estudios <br>
<input type="radio" name="nivel" value="2" checked="checked"> Bachiller <br>
<input type="radio" name="nivel" value="3"> Grado Medio <br>
<input type="radio" name="nivel" value="4"> Grado superior <br>
<input type="radio" name="nivel" value="5"> Universitario <br>
</p>
<!--cuando solo queremos que nos de una seleccion desplegable, usamos la etiqueta <select
name="texto"> y despues con la etiqueta <option value="1"> texto </option> y de estos tantos
como queramos poner, finalizamos con </select>-->
<p>Elige tu color favorito</p>
<p><select name="Color">
<option value="1"> Amarillo </option>
<option value="2"> Rojo </option>
<option value="3"> Naranja </option>
<option value="4"> Verde </option>
<option value="5"> Azul </option>
</select></p>
<!--Si en el ejemplo anterior queremos que aparezcan algunos marcados, usamos selected-->
<p> Elige tus platos preferidos (Para elegir mas de uno manten pulsada la tecla Ctrl)</p>
<p><select name="pla" size="10" multiple="multiple">
<optgroup label="Carnes">
<option value="1"> Entrecot </option>
<option value="2" selected="selected"> Chuleta </option>
<option value="3"> Solomillo </option>
<option value="4"> San Jacobo </option>
<option value="5"> Cordero </option>
</optgroup>
<optgroup label="Pescados">
<option value="6" selected="selected"> Salmon </option>
<option value="7"> Rodaballo </option>
<option value="8"> Merluza </option>
<option value="9"> Sardinas </option>
<option value="10"> Atun </option>
</optgroup>
<optgroup label="Postres">
<option value="11" selected="selected"> Helado </option>
<option value="12"> Hojaldre </option>
<option value="13"> Fruta </option>
<option value="14"> Pastel </option>
<option value="15"> Flan </option>
</optgroup>
</select></p>
<fieldset>
<!--con FIELDSET hacemos un recuadro donde metemos dentro los formularios contenidos en esta
etiqueta-->
<legend> Rellena el formulario </legend>
<!--con LEGEND le damos un nombre a ese recuadro-->
Selecciona tu nivel maximo de Estudios: <br>
<input type="radio" name="nivel" value="1" disabled="disabled"> Sin Estudios <br>
<input type="radio" name="nivel" value="2" checked="checked"> Bachiller <br>
<input type="radio" name="nivel" value="3"> Grado Medio <br>
<input type="radio" name="nivel" value="4"> Grado superior <br>
<input type="radio" name="nivel" value="5"> Universitario <br>
</fieldset>
<!--Para determinar el orden en el que navegamos por las cajas con la tecla TAB usamos
tabindex="aqui numero de orden", si lo hacemos con otro grupo debemos poner numeros
diferentes, osea un grupo del 1 al 9 y el siguiente de 9 al 18-->
<p>
Al pasar TAB pasamos de una caja a otra por columnas<br>
<input type="text" name="t1" size="5" value="f1-c1" tabindex="1">
<input type="text" name="t1" size="5" value="f1-c2" tabindex="4">
<input type="text" name="t1" size="5" value="f1-c3" tabindex="7">
<br>
<input type="text" name="t1" size="5" value="f2-c1" tabindex="2">
<input type="text" name="t1" size="5" value="f2-c2" tabindex="5">
<input type="text" name="t1" size="5" value="f2-c3" tabindex="8">
<br>
<input type="text" name="t1" size="5" value="f3-c1" tabindex="3">
<input type="text" name="t1" size="5" value="f3-c2" tabindex="6">
<input type="text" name="t1" size="5" value="f3-c3" tabindex="9">
</p>
<!--LABEL se utiliza para personas invidentes, hay un programa que reconoce lo que se pone y lo
dice, en este caso lo que esta dentro de la etiqueta label que seria "Teclee su nombre", es lo que el
programa especifico lo dira con voz, el comando for="name" va relacionado con el comando
id="nombre" del cuadro de texto para saber a que cuadro se refiere cuando se pulsa para escribir-->
<p>
<label for="nombre"> Teclee su nombre </label>
<input type="text" name="nombre" size="30" id="nombre" > <br>
<!--para relacionar la etiqueta LABEL con el control se usa el nombre que lleva el FOR
en el ID (for="nombre" id="nombre"-->
<label for="email"> Teclee su email </label>
<input type="text" name="correo" size="50" id="email" > <br>
</p>
<!--Cuando queramos poner espacios delante de un Texto ponemos tantas veces como
espacios queramos-->
<p>
Teclee su nombre:<br>
Teclee su nombre:
<input type="text" name="usu" size="10" maxlength="15" value="Dña">
</p>
<!--para acentuar utilizamos í donde la i es la palabra que lleva el acento y iria entre & y acute;-->
<!--en el caso de la n con sombrero utilizamos ñ por ejemplo para España-->
<p> Introduzca aquí sus comentarios: </p>
<!--cuando queremos meter una caja con espacio para escribir el comentario se hace con textarea y se
definen filas y columnas-->
<p><textarea name="comentarios" rows="7" cols="70"></textarea><br>
<!--si queremos que el texto de la pregunta vaya dentro del cuadro hariamos:-->
<textarea name="comentarios" rows="7" cols="70">Introduzca sus comentarios:</textarea>
<br><br>
<!--si queremos que haya partes del formulario que no se puedan modificar y solo tener la opcion de
aceptar o no aceptar lo hariamos usando disabled de la sigueinte manera-->
<p>Teclee su nombre:
<input type="text" name="izena" size="13" value="Euskosoftware" disabled="disabled"><br>
<textarea name="comentarios" rows="7" cols="70" disabled="disabled">
CLAUSULA SEGUNFA-OBJETO DEL CONTRATO
EL PROVEEDOR otorga la ENTIDAD licencia para utilizar los programas que se
relacionan en el Anexo.
El pago de la Licencia otorgada bajo el presente contrato, no constituye la compra de los
programas.
CLAUSULA TERCERA_PRECIO Y FORMA DE PAGO
El precio convenido por la licencia de uso de los programas objeto de este contrato es la
que se......
....................................................................................................
..............................................................
</textarea></p>
<p><input type="radio" name="val" value="1" checked="checked"> Acepto <br>
<input type="radio" name="val" value="2"> No Acepto <br></p>
</form>
Apuntes HTML 2
Tamao Ttulos
El tamao de titulo varia segn se utilice h1, h2,...h6 y es un tamao que tiene prefijada cada navegador
<h1>, <h2>, ......<h6>
</h1>
<html>
<head>
<title>Encabezamientos</title>
<head>
<body>
<h6>Este encabezado es de letra pequea</h6>
<h5>Si no lees no te preocupes</h5>
<h4>Esta letra es normal</h4>
<h3>Esta letra es para abuelos</h3>
<h2>Si no lees esto corre al oculista</h2>
<h1>Estilo ONCE</h1>
</body>
<html>
Con h6:
Con h5.
Con h4:
Con h3:
Con h2:
Con h1:
Estilos de letras:
Las palabras contenidas dentro de estos comandos se muestran segn se especifica.
<em>
</em>
Emphatize
es igual que <i>
</i>
<strong>
</strong>
Negrita
es igual que <b>
</b>
itlica
bold
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Encabezamientos</title>
<head>
<body>
<p>Esta <i>palabra</i> va en italica y esta <b>otra</b> en negrita</p>
<p>Esta <em>palabra</em> va en emphatize y esta <strong>otra</strong> en negrita</p>
</body>
<html>
Hipervinculos:
Hipervinculo a otra pagina del mismo sitio
<a>
</a>
As seria el cdigo:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Hipervinculo pagina1</title>
<head>
<body>
<h1>Esta es la Página 1</h1>
<p>Pincha <a href="LM 13 Html_Hipervinculo pagina2.html"> aquí</a> para ir a la página 2</p>
<p>Pincha <a href="LM 13 Html_Hipervinculo pagina3.html"> aquí</a> para ir a la página 3</p>
</body>
<html>
Y se vera as:
Al pasar con el ratn o cursor por encima de aqu (pero sin hacer click) aparece el bocadillo, recuadro en amarillo)
Hipervinculo a otra pagina web <a>
</a>
En vez de poner la ruta al archivo, ponemos la direccin web deseada:
<a href="http://www.google.es"> Ir a Google;</a>
Por lo general el navegador nos abrir la pagina en la pestaa que estamos y perdemos la pagina original, para evitar
esto usaramos una funcin de java script que hace que se abra en una pestaa nueva.
Se puede hacer con target en html y aunque funciona da error al validar la pagina, seria as:
<a href="http://www.google.es" title="Si pinchas aqu iras a google" target="_blank"> Ir a Google</a>
Hipervinculo a una direccin de correo
<p> Para ponerte en contacto conmigo pincha <a href=mailto:natxo@gmail.com title=Direccion de correo del
autor> aquí</a></p>
Se vera as:
Mapa de Imgenes:
Pinchando en una zona de la imagen que se abra un enlace u otro evento.
El Mapa de una imagen se puede dividir en reas tipo cuadrado, circulo y polgonos, Se definen coordenadas.
(X1, Y1)
(X2, Y2)
(X3, Y3)
(r)
(X1, Y1)
(X2, Y2)
(X1, Y1)
(X4, Y4)
Se vera as (la barriga seria el rea del circulo del enlace a la wiki):
Listas Ordenadas:
<ul> y <ol>
<html>
<head>
<title>Listas ordenadas</title>
</head>
<body>
<h3> Listas ordenadas </h3>
<h4> Clasificacion Moto GP</h4>
<ol>
<li> Lorenzo </li>
<li> Pedrosa </li>
<li> Rossi </li>
<li> Stoner </li>
<li> Dovizioso </li>
</ol>
</body>
</html>
<html>
<head>
<title>Listas ordenadas</title>
</head>
<body>
<h3> Listas ordenadas </h3>
<h4> Clasificacion Moto GP</h4>
<ul>
<li> Lorenzo </li>
<li> Pedrosa </li>
<li> Rossi </li>
<li> Stoner </li>
<li> Dovizioso </li>
</ul>
</body>
</html>
Y se vera as:
Listas Anidadas:
Una lista dentro de otra, utilizando los comando de listas ordenadas.
<html>
<head>
<title>Listas anidadas</title>
</head>
<body>
<h3> Listas anidadas </h3>
<h4> Comunidad autonoma de Euskadi</h4>
<ul>
<li>Bizkaia</li>
<ul>
<li> Bilbao </li>
<li> Gernika </li>
<li> Balmaseda </li>
</ul>
</li>
<li>Guipuzkoa</li>
<ul>
<li> Donosti </li>
<li> Irun </li>
<li> Tolosa </li>
</ul>
</li>
<li>Araba</li>
<ul>
<li> Vitoria </li>
<li> Laudio </li>
<li> Agurain </li>
</ul>
</li>
</ul>
</body>
</html>
Lista de definiciones:
<dl> Lista de una definicin </dl>
<dt> Termino de una definicin </dt>
<dd> descripcin de una definicin </dd>
<html>
<head>
<title>Listas anidadas</title>
</head>
<body>
<h3> Listas anidadas </h3>
<h4> Comunidad autonoma de Euskadi</h4>
<ul>
<li>Bizkaia</li>
<ul>
<li> Bilbao </li>
<ol>
<li> Zorrotza </li>
<li> Kasttrexana </li>
<li> Rekalde </li>
<li> San Ignacio </li>
</ol>
<li> Gernika </li>
<li> Balmaseda </li>
</ul>
</li>
<li>Guipuzkoa</li>
<ul>
<li> Donosti </li>
<li> Irun </li>
<li> Tolosa </li>
</ul>
</li>
<li>Araba</li>
<ul>
<li> Vitoria </li>
<li> Laudio </li>
<li> Agurain </li>
</ul>
</li>
</ul>
</body>
</html>
Tablas Simples:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Tablas</title>
</head>
<body>
<h3> Tablas simples </h3>
<table border="1">
<tr>
<td> Fila 1, Col 1 </td>
<td> Fila 1, Col 2 </td>
<td> Fila 1, Col 3 </td>
</tr>
<tr>
<td> Fila 2, Col 1 </td>
<td> Fila 2, Col 2 </td>
<td> Fila 2, Col 3 </td>
</tr>
</table>
</body>
</html>
Se vera as:
<html>
<head>
<title>Tablas</title>
</head>
<body>
<h3> Tablas con encabezado </h3>
<table border="1">
<caption> Habitantes por paises </caption>
<tr>
<th> Pais </th>
<th> Habitantes </th>
</tr>
<tr>
<td> China </td>
<td> 1.300 Millones </td>
</tr>
<tr>
<td> India </td>
<td> 1.080 Millones </td>
</tr>
<tr>
<td> Estados Unidos </td>
<td> 295 Millones </td>
</tr>
</table>
</body>
</html>
Se vera as:
Y as usando <caption>
Combinando celdas:
A las etiquetas <td> y <th> se les puede poner el atributo rowspan y colspan
<th colspan=4> .................... </th>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title> Tablas </title>
</head>
<body>
<h2>Combinando Celdas</h2>
<table border="1">
<tr>
<th colspan="4">Hora de llegada a casa para los menores de edad</th>
</tr>
<tr>
<td> </td>
<td> Antes de las 10 </td>
<td> Antes de las 12 </td>
<td> Despues de las 12 </td>
</tr>
<tr>
<td> Hombres </td>
<td> 23% </td>
<td> 52% </td>
<td> 25% </td>
</tr>
<tr>
<td> Mujeres </td>
<td> 34% </td>
<td> 47% </td>
<td> 19% </td>
</tr>
</table>
</body>
</html>
Se vera as:
Apuntes JavaScript
<html>
<head>
<title> Mi primer Javascript </Title>
</head>
<body>
<!--Hay que declarar que se va a usar javascript, con la etiqueta <script> y dentro el tipo con type=, en este
caso texto y se escribira "text/javascript"-->
<!--Para poner comentarios dentro de javascript se utiliza lo siguiente:
//Este es un comentario de una sola linea
/*Este es un comentario de mas de una
linea*/
-->
<script type="text/javascript">
document.write("Este es mi primer programa javascript<br><br>");
/*La variables que se van a utilizar se declaran al principio con var, estas variables se pueden utilizar en
todo el documento, para concatenar texto y variables se utiliza el simbolo +, ademas en el caso de las tildes y acentos no
se usa ñ ni á*/
var nombre="Luis Mariano Enrique";
var edad=23;
var altura=1.82;
var casado=false;
document.write("Te llamas "+nombre+" tienes "+edad+" aos"+" y mides "+altura+" metros y casado:
"+casado);
/*Para separar en lineas el texto los ponemos uno a uno y con <br> para saltos de linea*/
document.write("<br><br>Te llamas: "+nombre);
document.write("<br>Tienes: "+edad);
document.write("<br>mides: "+altura);
/*Si queremos que nos presente la informacin en una ventana del navegador se usa alert y para separar lineas
con \n*/
alert("Te llamas "+nombre+"\n tienes "+edad+" aos"+"\n y mides "+altura+" metros y casado:
"+casado);
/*Asignar valores a las variables introducidos por teclado en una ventana, con la sentencia prompt, si
queremos que en el recuadro aparezca por defecto una lo escribimos en las segundas comillas que hay
como en el ejemplo*/
var nom_prov;
nom_prov=prompt("Teclea provincia:","Vizcaya");
document.write("<br><br>Asi que eres de " + nom_prov);
</script>
<!--Vamos a pedir unos datos que se introducen por teclado y vamos a operar con ellos en Javascript-->
<!--A la hora de operar una suma no se puede usar el simbolo + tal cual porque concatena los valores, 2+2
pone 22, hay que pasar los valores a enteros con parseInt-->
<script type="text/javascript">
var num1=5;
var num2=7;
var suma,produ;
var suma=num1+num2;
//Si asigno unos valores a num1 y num2 y defino la variable suma, si hace la suma
document.write("<br>"+num1+ "+"+num2+"="+suma);
//Si embarhgo si no defino la suma y los valores, concatena y no suma
num1=prompt("Teclea un numero","");
num2=prompt("Teclea otro numero","");
suma=num1+num2;
produ=num1*num2;
//De esta forma lo escribe en la paginas
document.write("<br>"+num1+ "+"+num2+"="+suma);
document.write("<br>"+num1+ "x"+num2+"="+produ);
//De esta forma lo presenta en una nueva ventana
alert("La suma es: "+suma+"\n El producto es: "+produ);
if (condicin)
{
sent1;
Presentacin
sent2;
}
num
sent3;
Si se cumple la condicin se realizan las sentencias 1 y 2,
finalizando con la sentencia 3, pero si no se cumple se pasa a
la sentencia Fin.
Las condiciones pueden ser:
Num
>
10
Mensaje 2
Ejemplo consistente en meter un numero y si es mayor que 10, se vern los mensajes 1, mensaje 2 y mensaje Fin, si
el numero es menor o igual que 10, se vera el mensaje Fin.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title> Estructura simple </title>
</head>
<body>
<!--Estructura simple-->
<script type="text/javascript">
//En este caso utilizamos alert para que nos preente la informacion en un cuadro
alert("\n Si tecleas un mumero mayor que 10 deberas ver mensaje 1, mensaje 2 y mensaje Fin"
+"\n Si tecleas un numero menor o igual que 10 deberas ver el mensaje Fin");
/*Declaramos las variables, hacemos la peticion de numero y con if (condicion) realizamos el proceso,
las sentencias a mostrar en este caso son de texto (Mensaje1, Mensaje 2......*/
var num;
num=parseInt(prompt("Teclea un numero",""));
if(num > 10)
{
document.write("Mensaje 1");
document.write("<br>"+"Mensaje 2");
}
document.write("<br>"+"Mensaje Fin");
</script>
</body>
</html>
INICIO
{
sent1;
Presentacin
sent2;
}
else
num
{
sent3;
sent4;
}
Si <= 10 (else)
sent5;
Si se cumple la condicin se realizan las sentencias 1 y 2,
finalizando con la sentencia Fi, pero si no se cumple se pasa a
la rama del No con else y se ejecuta la sentencia 3, 4 y Fin.
Las condiciones pueden ser:
> mayor que
Num
>
10
Si > 10
Mensaje 3
Mensaje 1
Mensaje 4
Mensaje 2
Mensaje Fin
Fin
!= distinto
Ejemplo consistente en meter un numero y si es mayor que 10, se vern los mensajes 1, mensaje 2 y mensaje Fin, si
no se cumple la condicin se vera el mensaje 3, mensaje 4 y mensaje Fin.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title> Estructura compuesta </title>
</head>
<body>
<script type="text/javascript">
alert("Programa que prueba tus habilidades codificando JavaScript:"
+"\n Si tecleas un mumero mayor que 10 deberas ver mensaje 1, mensaje 2 y mensaje Fin"
+"\n Si tecleas un numero menor o igual que 10 deberas ver mensaje 3, mensaje 4 y mensaje Fin");
var num;
num=parseInt(prompt("Teclea un numero",""));
if(num > 10)
{
document.write("Mensaje 1");
document.write("<br>"+"Mensaje 2");
}
else
{
document.write("<br>"+"Mensaje 3");
document.write("<br>"+"Mensaje 4");
}
document.write("<br>"+"Mensaje Fin");
</script>
</body>
</html>
Presentacin
num1
num2
NO
num1
>
num2
SI
El mayor es num1
El menor es num2
El mayor es num2
El menor es num1
Mensaje Fin
Ejemplo consistente en meter dos nmeros y ver cul es el mayor y cual el menor.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title> Estructura compuesta </title>
</head>
<body>
<p>Programa que define que numero es mayor y cual menor:<br>
Si tecleas dos numeros te dice cual es mayor y cual es menor de los dos</p>
<script type="text/javascript">
var num1;
var num2;
num1=parseInt(prompt("Teclea un numero",""));
num2=parseInt(prompt ("Teclea otro numero",""));
if(num1 > num2)
{
document.write("El mayor es: "+ num1);
document.write("<br>"+"El menor es: "+ num2);
}
else
{
document.write("<br>"+"El mayor es: "+ num2);
document.write("<br>"+"El menor es: "+ num1);
}
document.write("<br>"+"Fin");
</script>
</body>
</html>
INICIO
Presentacin
num1
num2
NO
NO
El mayor es num2
El menor es num1
num1
==
num2
num1
>
num2
SI
El mayor es num1
El menor es num2
SI
Son iguales
Fin
Ejemplo consistente en meter dos nmeros y ver cul es el mayor y cual el menor, pero en este caso si el numero es
igual lo detecta y te lo dice.
Presentacin
num1
num2
num3
NO
SI
num1
>
num2
NO
NO
num1
>
num3
menor=num1
NO
mayor=num3
num2
>
num3
SI
SI
mayor=num2
mayor=num3
menor=num3
menor=num2
mayor=num2
SI
num1
>
num3
mayor=num1
NO
menor=num2
num2
>
num3
SI
menor=num3
El Mayor es mayor
El Menor es menor
FIN
Ejemplo consistente en meter tres nmeros y ver cul es el mayor de los tres y cual el menor de los tres.
Presentacin
num1
num2
NO
num1%num2
==
0
SI
Num1 Es divisible
Entre num2
Num1 No es divisible
Entre num2
FIN
Ejemplo consistente en meter 2 nmeros y ver si son divisibles el uno con el otro (si el numero es divisible, el resto
sera 0), utilizando la Funcin %, significa el resto de dividir 2 nmeros.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title> Estructura compuesta Funcion % </title>
</head>
<body>
<p>Programa que define si un numero es divisible entre otro:<br>
Si tecleas 2 numeros te dice si son divisibles</p>
<script type="text/javascript">
var num1;
var num2;
alert("Script que te pide 2 numeros y te dice si son divisibles");
num1=parseInt(prompt("Teclea el primer numero",""));
num2=parseInt(prompt ("Teclea el segundo numero",""));
if(num1%num2==0)
{
//Dos formas de dar la informacion, en pantalla o en ventana emergente
document.write(num1+" Es divisible entre "+num2);
alert(num1+" Es divisible entre "+num2);
}
else
{
document.write(num1+" No es divisible entre "+num2);
alert(num1+" No es divisible entre "+num2);
}
</script>
</body>
</html>
Presentacin
nombre
cont=1
while (condicin)
{
sentencia1;
sentencia2;
}
cont
<=
10
NO
SI
Hola nombre
cont=cont+1
FIN
Ejemplo consistente en meter un nombre y el programa lo repite las veces que le hayamos dicho, en este caso 10
veces (con cont<=10), si queremos que se repita 100 veces, entonces pondremos 100 en vez de 10.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title> Sentencia repetitiva </title>
</head>
<body>
<p>Programa que repite un nombre 10 veces:<br>
Si tecleas un nombre lo repite</p>
<script type="text/javascript">
var nombre;
var cont;
nombre=prompt("Teclea tu nombre","");
cont=1;
while(cont<=10)
{
document.write(cont+" Hola "+ nombre+"<br>");
cont=cont+1;
}
</script>
</body>
</html>
while (condicin)
{
sentencia1;
sentencia2;
}
cont
<=
nveces
NO
SI
Hola nombre
cont=cont+1
FIN
Ejemplo consistente en meter un nombre y el programa lo repite las veces que por teclado le definamos, en este caso
en vez de definir un valor fijo, le decimos el numero de veces con una entrada por teclado para la variable nveces.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title> Sentencia repetitiva </title>
</head>
<body>
<p>Programa que repite un nombre las veces que le indiques:<br>
Si tecleas un nombre y una cantidad, lo repite las veces que hayas puesto</p>
<script type="text/javascript">
var nombre;
var nveces;
var cont;
nombre=prompt("Teclea tu nombre","");
nveces=prompt("Cuantas veces quieres que se repita","");
cont=1;
while(cont<=nveces)
{
document.write(cont+" Hola "+ nombre+"<br>");
cont=cont+1;
}
</script>
</body>
</html>
while (condicin)
{
sentencia1;
sentencia2;
}
cont
<=
num2
NO
SI
Hola nombre
cont=cont+1
FIN
Ejemplo consistente en poner los nmeros naturales entre 2 nmeros dados, si metemos 5 y 9, pondr 5, 6. 7, 8 y 9.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title> Sentencia repetitiva </title>
</head>
<body>
<p>Programa que escribe los numeros naturales entre 2 introducidos:<br>
Si tecleas dos numeros, escribe los numeros que hay entre los introducidos y incluido estos.</p>
<script type="text/javascript">
var num1;
var num2;
var cont;
num1=prompt("Teclea el primer numero","");
num2=prompt("Teclea el segundo numero","");
cont=parseInt(num1);
while(cont<=num2)
{
document.write(cont+" - ");
cont=cont+1;
}
</script>
</body>
</html>
while (condicin)
{
sentencia1;
lim_inf
<
lim_sup
NO
lim_inf%2
==
0
SI
sentencia2;
}
NO
lim_inf
lim_inf ++
FIN
Ejemplo consistente en Mostrar los nmeros pares entre 2 nmeros dados, si metemos 2 y 10, pondr 2, 4. 6, 8 y 10.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title> Sentencia repetitiva </title>
</head>
<body>
<p>Si tecleas dos numeros, escribe los numeros pares que hay ellos dos.</p>
<script type="text/javascript">
var lim_inf;var lim_sup;var cont;
lim_inf=parseInt(prompt("Teclea el primer numero",""));
lim_sup=parseInt(prompt("Teclea el segundo numero",""));
cont=lim_inf
while(cont<=lim_sup)
{
if(cont%2==0)
{
document.write(cont+"<br>");
}
cont=cont+1;
}
</script>
</body>
</html>
while (condicin)
{
sentencia1;
SI
lim_inf%2
!=
0
sentencia2;
NO
lim_inf=lim_inf+1
lim_inf
<=
lim_sup
NO
SI
lim_inf
lim_inf=lim_inf+2
FIN
Ejemplo consistente en Mostrar los nmeros pares entre 2 nmeros dados, si metemos 2 y 10, pondr 2, 4. 6, 8 y 10,
esta es la forma optimizada de hacerlo (solo pongo la parte dentro de <body>.
<p>Programa que escribe los numeros pares entre 2 introducidos (Metodo optimizado):<br>
<script type="text/javascript">
var lim_inf;
var lim_sup;
lim_inf=parseInt(prompt("Teclea el numero mas bajo",""));
lim_sup=parseInt(prompt("Teclea el numero mas alto",""));
if(lim_inf%2!=0)
{
lim_inf=lim_inf+1;
}
while(lim_inf<=lim_sup)
{
document.write(lim_inf+"<br>");
lim_inf=lim_inf+2
}
</script>
{
sentencias;
}
while (Condicin)
SI
Condicion
NO
Teclea un numero
mayor que 10
num
num
<=
0
Mientras no metamos un numero mayor que 10, no seguir pidiendo que lo metamos.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title> Sentencia repetitiva</title>
</head>
<body>
<!--Ejemplo de Estructura repetitiva con do y while.
while(condicion), en este caso introducir un mumero mayor que 10 y mientras no lo meta no sigue-->
<p>Tienes que teclear un numero mayor que 10:<br>
<script type="text/javascript">
var num;
do
{
num=parseInt(prompt("Teclea un numero mayor que 10",""));
}
while(num<=10)
</script>
<p>Eres un pardillo<br>
</body>
</html>
num_usu
!=
num_ale
num_usu
>
num_ale
Para arriba
Para abajo
num_usu
Has acertado
FIN
0.00.......
99.99.....
1....
100
Ejemplo consistente en acertar un numero que el ordenador ha elegido al azar entre 1 y 100 (usando la sentencia
anterior), si no acertamos nos dice si esta por arriba o por abajo y debemos volver a meter otro numero hasta que lo
acertemos.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Sentencia repetitiva</title>
</head>
<body>
<!--Ejemplo de sentencia while con Math.random()-->
<p>Tienes que teclear un numero:<br>
<script type="text/javascript">
var num_usu;
var num_ale;
num_ale=Math.floor(Math.random()*100+1);
num_usu=parseInt(prompt("Teclea un numero entre 1 y 100",""));
while(num_usu!=num_ale)
{
if (num_usu>num_ale)
{
alert("Para abajo");
}
else
{
alert("Para arriba");
}
num_usu=parseInt(prompt("Teclea otro numero",""));
}
alert("Has acertado")
</script>
</body>
</html>
Presentacin
num_usu
con_int
num_ale=Math.floor(Math.random()*100+1)
lim_inf
lim_sup
lim_inf=1
lim_sup=100
Teclea un numero entre +
lim_inf+y+lim_sup
} prompt
num_usu
cont_int=1
num_usu
!=
num_ale
NO
SI
NO
num_usu
>
num_ale
lim_inf=num_usu
SI
lim_sup=num_usu
cont_int++
} prompt
num_usu
FIN
VAR(variables):
num_ale
Presentacin
num_usu
con_int
num_ale=Math.floor(Math.random()*100+1)
lim_inf
lim_sup
lim_inf=1
resp
lim_sup=100
Teclea un numero entre +
lim_inf+y+lim_sup
} prompt
num_usu
cont_int=1
num_usu
!=
num_ale
NO
SI
NO
num_usu
>
num_ale
lim_inf=num_usu
SI
lim_sup=num_usu
cont_int++
} prompt
Has acertado con+
con_int+intentos
num_usu
Otra partida
resp
SI
resp==S
OR
resp=s
NO
FIN
OR se pone ||
AND se pone &&
VAR(variables):
num_ale
Presentacin
num_usu
con_int
num_ale=Math.floor(Math.random()*100+1)
lim_inf
lim_sup
lim_inf=1
resp
lim_sup=100
Teclea un numero entre +
lim_inf+y+lim_sup
} prompt
num_usu
cont_int=1
num_usu
!=
num_ale
NO
SI
NO
num_usu
>
num_ale
lim_inf=num_usu
SI
lim_sup=num_usu
cont_int++
} prompt
Otra partida
resp
num_usu
SI
resp!=s AND resp!=S AND resp!=n AND resp!=N
NO
SI
resp==S
or
resp=s
NO
FIN
OR se pone ||
AND se pone &&
VAR(variables):
num_ale
Presentacin
num_usu
con_int
num_ale=Math.floor(Math.random()*100+1)
lim_inf
lim_sup
lim_inf=1
resp
lim_sup=100
Teclea un numero entre +
lim_inf+y+lim_sup
} prompt
num_usu
cont_int=1
num_usu
!=
num_ale
NO
SI
NO
cont_int++
NO
num_usu
!=
num_ale
lim_sup=num_usu
SI
num_usu<lim_inf
||
num_usu>lim_inf
SI
lim_inf=num_usu
} prompt
resp
SI
num_usu
NO
resp!=s AND resp!=S AND resp!=n AND resp!=N
SI
resp==S
or
resp=s
NO
FIN
OR se pone ||
AND se pone &&
{
sentencia;
}
Mientras la variable i este dentro de los
valores 0 a n repite la sentencia, por cada
paso se incrementa el valor de i hasta llegar
al valor de n y termina el bucle.
Sentencia
cont_caras=0
cont_cruces=0
Presentacin
cont=1
cont_caras=0
NO
Cont
<=
100
NO
Cont=1;cont<=100;cont++
SI
SI
num_ale=Math.floor(Math.random()*2)
NO
cont_cruces=0
num_ale
==
0
SI
num_ale=Math.floor(Math.random()*2)
num_ale
==
0
cont_caras++
cont_caras++
cont_cruces++
cont_cruces++
cont++
FIN
for(cont=1;cont<=100;cont++)
{
num_ale=Math.floor(Math.random()*2);
if(num_ale==0
cont_caras++;
else
cont_cruces++;
}
Presentacin
num_ale
num_lanz
Cuantos lanzamientos?
cont_caras
cont_cruces
num_lanz
cont
cont_caras=0
NO
Se trata de lanzar una moneda al aire la cantidad de veces
especificada por el usuario y contar cuantas veces ha salido
cruz y cuantas cara.
Cont=1;cont<=num_lanz;cont++
SI
num_ale=Math.floor(Math.random()*2)
NO
num_ale
==
0
SI
cont_caras++
cont_cruces=num_lanz-cont_caras
Han salido +cont_caras+ caras
y +cont_cruces+ cruces
FIN
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Sentencia repetitiva</title>
</head>
<body>
<!--Ejemplo de sentencia for con Math.random()-->
<p>Se trata de ver cuantas veces sale cara o cruz<br>
<script type="text/javascript">
var cont_caras; //El numero de veces que sale cara
var cont_cruces; //El numero de veces que sale cruz
var num_ale;
var cont;
var num_lanzamientos;
cont_caras=0;
num_lanzamientos=parseInt(prompt("Teclea numero de intentos entre 1 y 100",""));
//para numero lanzamientos 100 seria for(cont=1;cont<=100;cont++)
for(cont=1;cont<=num_lanzamientos;cont++)
{
num_ale=Math.floor(Math.random()*2);
if(num_ale==0)
cont_caras++;
}
cont_cruces=num_lanzamientos-cont_caras;
alert("Han salido "+cont_caras+" caras y "+cont_cruces+" cruces");
alert("fin");
</script>
</body>
</html>
INICIO
Cuantos lanzamientos?
num_lanz
Cont1=0;cont2=0;cont3=0;cont4=0;cont5=0;cont6=0
NO
I=0 ; i<num_lanz ; i++
SI
num_ale=Math.floor(Math.random()*6+1)
NO
num_ale
==
2
NO
cont6++
num_ale
==
5
num_ale
==
3
num_ale
==
4
num_ale
==
1
SI
cont1++
cont2++
cont3++
cont4++
SI
cont5++
SI
resp!=s AND resp!=S AND resp!=n AND resp!=N
NO
SI
resp==S
or
resp=s
NO
FIN
var:
Presentacin
imc
Peso
alturacm
peso
alturacm
lim_inf=20.5;
lim_sup=25.5
altura
lim_sup=25.5
lim_sup
lim_inf
exceso
altura=(alturacm/100)
defecto
Calculo imc
imc=(peso/(altura*altura))
pesoinf
pesosup
pesoinf=(lim_inf*(altura*altura));
pesosup=(lim_sup*(altura*altura))
exceso=(peso-pesosup);
defecto=(pesoinf-peso)
NO
NO
Imc
>=
lim_sup
Imc
<=
lim_inf
SI
SI
NO
SI
resp==S
or
resp=s
NO
FIN
Datos de prueba:
Altura=170cm , Peso=80Kg, 60Kg y 55Kg
imc=80/1,7*1,7=27,68
peso inferior=imc(inferior)*altura 2 y peso superio=imc(superior)*altura 2
pesoinf=2,89x20,5=59,24Kg (para una altura de 170cm)
pesosup=2,89x25,5=73,69Kg (para una altura de 170cm)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Ejercicio JavaScript</title>
</head>
<body>
<!--Calculo imc-->
<p>Se trata de meter tus datos de Peso en Kilos y altura en cm para calcular tu indice de masa corporal o IMC<p>
<p>De tal manera que sepas si tienes sobrepeso, estas delgado o tu peso es el adecuado<p>
<p>Ademas te dice por cuanto peso te pasas o te falta<p>
<script type="text/javascript">
var imc //El indice de masa corporal que se calcula con altura al cuadrado entre el peso
var peso //El peso en kilogramos
var alturacm //La altura en cm
var altura //La altura pasada a metros
var lim_inf //Limite inferior fijado en 20.5 por debajo del cual se considera persona delgada
var lim_sup //Limite superior a partir del cual se considera persona obesa
var exceso //Cantidad de kilos que te sobran
var defecto //Cantidad de Kilos que necesitas coger para estar bien de peso
var pesoinf //Limite de Kg por debajo del que se considera persona delgada para la altura dada
var pesosup //Limite de Kg a partir del que se considera persona obesa para la altura dada
do
{
alert("Calculo de el indice de masa corporal IMC a partir de tu Altura y Peso");
peso=parseInt(prompt("Introduce tu peso en Kg",""));
alturacm=parseInt(prompt("Introduce tu altua en Cm",""));
lim_inf=20.5;
lim_sup=25.5;
altura=(alturacm/100);
imc=(peso/(altura*altura));
pesoinf=(lim_inf*(altura*altura));
pesosup=(lim_sup*(altura*altura));
exceso=(peso-pesosup);
defecto=(pesoinf-peso);
if(imc<=lim_inf)
{
//Para que solo muestre un numero determinado de decimales se aade .toFixed(2) entre () el n de decimales
alert("Estas delgado y te faltan "+defecto.toFixed(2)+" Kg para estar bien de peso");
}
else
{
if(imc>=lim_sup)
{
alert("Estas Obeso y te sobran "+exceso.toFixed(2)+" Kg para estar bien de peso");
}
else
{
alert("Estas bien de peso");
}
}
do
{
resp=prompt("Quieres repetir Si o No?","");
}
while(resp!="s"&&resp!="S"&&resp!="n"&&resp!="N");
}
while(resp=="S"||resp=="s");
alert("fin");
</script>
</body>
</html>
Algunas mejoras, sobre el anterior, muestra en el navegador los datos dados y resultados del IMC
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Ejercicio JavaScript</title>
</head>
<body>
<!--Calculo imc-->
<p>Se trata de meter tus datos de Peso en Kilos y altura en cm para calcular tu indice de masa corporal o IMC</p>
<p>De tal manera que sepas si tienes sobrepeso, estas delgado o tu peso es el adecuado</p>
<p>Ademas te dice cuanto peso te sobra o te falta</p>
<script type="text/javascript">
var imc //El indice de masa corporal que se calcula con altura al cuadrado entre el peso
var peso //El peso en kilogramos
var alturacm //La altura en cm
var altura //La altura pasada a metros
var lim_inf //Limite inferior fijado en 20.5 por debajo del cual se considera persona delgada
var lim_sup //Limite superior a partir del cual se considera persona obesa
var exceso //Cantidad de kilos que te sobran
var defecto //Cantidad de Kilos que necesitas coger para estar bien de peso
var pesoinf //Limite de Kg por debajo del que se considera persona delgada para la altura dada
var pesosup //Limite de Kg a partir del que se considera persona obesa para la altura dada
var nombre //Nombre de la persona
var edad // Edad de la persona
do
{
alert("Calculo de el indice de masa corporal IMC a partir de tu Altura y Peso");
nombre=prompt("Introduce tu nombre","");
edad=parseInt(prompt("Introduce tu edad",""));
peso=parseInt(prompt("Introduce tu peso en Kg",""));
alturacm=parseInt(prompt("Introduce tu altua en Cm",""));
lim_inf=20.5;
lim_sup=25.5;
altura=(alturacm/100);
imc=(peso/(altura*altura));
pesoinf=(lim_inf*(altura*altura));
pesosup=(lim_sup*(altura*altura));
exceso=(peso-pesosup);
defecto=(pesoinf-peso);
document.write("<br> Nombre: "+nombre+"<br> Edad: "+edad);
document.write("<br> peso= "+peso+"kg"+"<br> altura= "+alturacm+"cm");
if(imc<=lim_inf)
{
//Para que solo muestre un numero determinado de decimales se aade .toFixed(2) entre () el n de decimales
alert("Estas delgado y te faltan "+defecto.toFixed(2)+" Kg para estar bien de peso");
document.write("<br> Estas delgado y te faltan "+defecto.toFixed(2)+" Kg para estar bien de peso <br>");
}
else
{
if(imc>=lim_sup)
{
alert("Estas Obeso y te sobran "+exceso.toFixed(2)+" Kg para estar bien de peso");
document.write("<br> Estas Obeso y te sobran "+exceso.toFixed(2)+" Kg para estar bien de peso <br>");
}
else
{
alert("Estas bien de peso y tu indice de masa corporal IMC es de "+imc.toFixed(2)+
"\n Los margenes del IMC son de 20.5 a 25.5");
document.write("<br> Estas bien de peso y tu indice de masa corporal IMC es de "+imc.toFixed(2)+
"<br> Los margenes del IMC son de 20.5 a 25.5 <br>");
}
}
do
{
resp=prompt("Quieres repetir Si o No?","");
}
while(resp!="s"&&resp!="S"&&resp!="n"&&resp!="N");
}
while(resp=="S"||resp=="s");
alert("fin");
</script>
<p></p>
</body>
</html>
El mismo programa con algunas mejoras, tambin muestra en la pagina los resultados, junto con el nombre y edad.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Ejercicio JavaScript</title>
</head>
<body>
<!--Calculo imc-->
<p>Se trata de meter tus datos de Peso en Kilos y altura en cm para calcular tu indice de masa corporal o IMC</p>
<p>De tal manera que sepas si tienes sobrepeso, estas delgado o tu peso es el adecuado</p>
<p>Ademas te dice cuanto peso te sobra o te falta</p>
<script type="text/javascript">
var imc //El indice de masa corporal que se calcula con altura al cuadrado entre el peso
var peso //El peso en kilogramos
var alturacm //La altura en cm
var altura //La altura pasada a metros
var lim_inf //Limite inferior fijado en 20.5 por debajo del cual se considera persona delgada
var lim_sup //Limite superior a partir del cual se considera persona obesa
var exceso //Cantidad de kilos que te sobran
var defecto //Cantidad de Kilos que necesitas coger para estar bien de peso
var pesoinf //Limite de Kg por debajo del que se considera persona delgada para la altura dada
var pesosup //Limite de Kg a partir del que se considera persona obesa para la altura dada
var nombre //Nombre de la persona
var edad // Edad de la persona
do
{
alert("Calculo de el indice de masa corporal IMC a partir de tu Altura y Peso");
nombre=prompt("Introduce tu nombre","");
edad=parseInt(prompt("Introduce tu edad",""));
peso=parseInt(prompt("Introduce tu peso en Kg",""));
alturacm=parseInt(prompt("Introduce tu altua en Cm",""));
lim_inf=20.5;
lim_sup=25.5;
altura=(alturacm/100);
imc=(peso/(altura*altura));
pesoinf=(lim_inf*(altura*altura));
pesosup=(lim_sup*(altura*altura));
exceso=(peso-pesosup);
defecto=(pesoinf-peso);
document.write("<br> Nombre: "+nombre+"<br> Edad: "+edad);
document.write("<br> peso= "+peso+"kg"+"<br> altura= "+alturacm+"cm");
if(imc<=lim_inf)
{
//Para que solo muestre un numero determinado de decimales se pone .toFixed(2) entre () el n de decimales
alert("Estas delgado y te faltan "+defecto.toFixed(2)+" Kg para estar bien de peso");
document.write("<br> Estas delgado y te faltan "+defecto.toFixed(2)+" Kg para estar bien de peso <br>");
}
else
{
if(imc>=lim_sup)
{
alert("Estas Obeso y te sobran "+exceso.toFixed(2)+" Kg para estar bien de peso");
document.write("<br> Estas Obeso y te sobran "+exceso.toFixed(2)+" Kg para estar bien de peso <br>");
}
else
{
alert("Estas bien de peso y tu indice de masa corporal IMC es de "+imc.toFixed(2)+
"\n Los margenes del IMC son de 20.5 a 25.5");
document.write("<br> Estas bien de peso y tu indice de masa corporal IMC es de "+imc.toFixed(2)+
"<br> Los margenes del IMC son de 20.5 a 25.5 <br>");
}
}
do
{
resp=prompt("Quieres repetir Si o No?","");
}
while(resp!="s"&&resp!="S"&&resp!="n"&&resp!="N");
}
while(resp=="S"||resp=="s");
alert("fin");
</script>
<p></p>
</body>
</html>
INICIO
Cuantos lanzamientos?
num_lanz
cont1=0;cont2=0;cont3=0;cont4=0;cont5=0;cont6=0
NO
i=0 ; i<num_lanz ; i++
A6
SI
num_ale=Math.floor(Math.random()*6+1)
num_ale
==
6
cont3++
A6
num_ale
==
2
cont6++
num_ale
==
5
NO
NO
num_ale
==
3
num_ale
==
4
num_ale
==
1
SI
cont1++
cont2++
cont3++
cont4++
SI
cont5++
SI
resp!=s AND resp!=S AND resp!=n AND resp!=N
NO
SI
resp==S
or
resp=s
NO
FIN
ARRAYS
Sirve para que de una tacada, declarar un montn de variables, que ademas se llaman igual.
Ejemplo de una ruleta
El array se inicializa as
(poner contenidos a 0):
i=15;
num_rul[i]=37;
for (i=0 ; i<37 ; i++)
num_rul[i]=0:
num_rul
5
2
7
23
36
El Array hay que inicializarlo y poner los contenidos a 0, se hace con una sentencia for:
i=15;
num_rul[i]=37;
for (i=0 ; i<37 ; i++)
num_rul[i]=0:
Para verlo en un ejemplo, hagamos el ejercicio de tirar dados:
Bucle para
inicializar
el Array
INICIO
Cuantos lanzamientos?
Presentacin
num_lanz
i=0 ; i<num_lanz ; i++
cont[i]=0
num_ale=Math.floor(Math.random()*6)
cont [num_ale] ++
FIN
Ejercicio JavaScript
1- Confecciona un script que nos muestre 2 nmeros de dos dgitos y nos pida su suma, si el resultado es correcto as
nos lo comunica y si es errneo nos dir la solucin.
num_ale=Math.floor(Math.random()*90+10)
2- El mismo ejercicio pero que pregunte si se quiere volver a hacer mas sumas.
3- Que cuando yo le diga si quiero hacer mas sumas, si le respondo que No, me diga de las sumas hechas cuantas he
hecho bien y cuantas mal.
INICIO
var:
Presentacin
num1
Aciertos=0; fallos=0
num2
resultado
num1=Math.floor(Math.random()*90+10)
suma
num_suma
num1=Math.floor(Math.random()*90+10)
aciertos
fallos
Introduce el resultado
resp
resultado
suma=num1+num2
NO
resultado
==
suma
SI
aciertos++
fallos++
NO
SI
NO
resp==S
or
resp=s
Notas:
num1=Math.floor(Math.random()*90+10) seria igual que num1=ParseInt((Math.random()*90+10)
fallos++ es igual que poner fallos=fallos+1
num_lanz
cont[5] = 0 ;
VAR:
num_ale
cont
0
cont=new Array(37)
1
36
i = 5;
cont[i] = 0 ;
num_lanz
INICIO
Bucle para
inicializar
el Array
Presentacin
i=0 ; i<37 ; i++
cont[i]=0
Cuantos lanzamientos?
num_lanz
i=0 ; i<num_lanz ; i++
num_ale=Math.floor(Math.random()*37)
cont [num_ale] ++
<br> El numero + i +
ha salido + cont[i] + veces
FIN
-Se ha cambiado 37 por la variable num y as poder cambiar los nmeros de la ruleta segn se necesite
VAR:
num_lanz
num_ale
cont=new Array(37)
cont
i
0
36
num_lanz
mas_veces
num_mas_veces
num_mas_veces
INICIO
Presentacin
Bucle para
inicializar
el Array
mas_veces=0
num_mas_veces=0
NO
mas_veces
<
cont[i]
Cuantos lanzamientos?
num_lanz
SI
mas_veces=cont[i]
num_ale=Math.floor(Math.random()*37)
cont [num_ale] ++
num_mas_veces=i
<br> El numero + i +
ha salido + cont[i] + veces
Bucle para
volcar el
Array
FIN
-Se ha cambiado 37 por la variable num y as poder cambiar los nmeros de la ruleta segn se necesite
Funciones y Mtodos
function nombre_funcin(arg1, arg2, ....., arg9)
{
instrucciones de la funcin
.....
}
funcin de un script que llama a otra:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Funciones</title>
</head>
<body>
<script type="text/javascript">
function saludo()
{
document.write("Hola Juan <br>");
}
</script>
<script type="text/javascript">
var i;
for(i=0;i<5;i++)
saludo();
</script>
</body>
</html>
INICIO
lim_inf
lim_sup
Presentacin
suma
La funcin es:
MostrarSumar
suma=0
lim_inf
Volver
MostrarSumar
As se representa la funcin
La suma es =
suma
FIN
INICIO
lim_inf
lim_sup
Presentacin
num_ale
La funcin es:
calcularAleatorio
posib=lim_sup-lim_inf+1
lim_inf
num_ale=Math.floor(Math.random()*posib)
lim_sup
num_ale=num_ale+lim_inf
Volver
calcularAleatorio
As se representa la funcin
(2,5 puntos)
INICIO
num;
Presentacin
i;
num
NO
i=1 ; i<num ; i++
NO
num%i
==
0
SI
i+-
En la sentencia for se ha puesto hasta <num 8esto es para que no salga el guion
detrs del ultimo numero), y una vez que se termina el bucle, se pone el numero
as se evita que quede un guion detrs del ultimo numero.
num
FIN
<html>
<head>
<title>sentencia for</title>
</head>
<body>
<p>Programa que muestra los divisores de un numero</p>
<script type="text/javascript">
var num;
var i;
num=parseInt(prompt("Introduce un numero:",""));
document.write("<br> Los divisores de: "+num+" son: ");
for(i=1;i<num;i++) //se ha puesto <num y no <=num para evitar el guion al final
{
if(num%i==0)
{
document.write(i+" - ");
}
} //La siguiente sentencia es para poner el ultimo numero y que no quede un guion
document.write(num);//tambien valdria: con document.write(i);
document.write("<br> FIN");
</script>
</body>
</html>
(2,5 puntos)
Dar 3 datos (lado A, lado B y lado C) y indicar si se puede construir o no un triangulo, si se puede construir indicar si es
Equilatero (todos los lados iguales), Escaleno (todos los lados distintos) o Issceles (2 lados iguales).
Ademas se tiene que poder preguntar si se quiere repetir o no.
INICIO
var:
Presentacin
Lado A
b
c
Lado B
resp
Lado C
a<(b+c)
&&
b<(a+c)
&&
c<(a+b)
NO
SI
Se puede construir
NO
a==b
&&
a==c
Es Equilatero
a!=b
&&
a!=c
&&
B!c
Es Isosceles
SI
SI
Es Escaleno
NO
SI
NO
resp==S
or
resp=s
FIN
<html>
<head>
<title>sentencia do-while y if-else</title>
</head>
<body>
<p>Programa que te dice si se puede construir un triangulo y de que tipo</p>
<script type="text/javascript">
var a;
var b;
var c;
var resp;
do
{
a=parseInt(prompt("Introduce un numero para el lado A:",""));
b=parseInt(prompt("Introduce un numero para el lado B:",""));
c=parseInt(prompt("Introduce un numero para el lado C:",""));
if(a<(b+c)&& b<(a+c) && c<(a+b))
{
if(a==b && b==c)
{
document.write("<br> El Triangulo es Equilatero");
}
else if(a!=b && a!=c && b!=c)
{
document.write("<br> El Triangulo es Escaleno");
}
else
{
document.write("<br> El Triangulo es Isosceles");
}
}
else
{
document.write("<br> El triangulo no se puede construir con los datos dados");
}
do
{
resp=prompt("Desea continuar S/N:","");
}
while(resp!="s"&&resp!="S"&&resp!="n"&&resp!="N")
}
while(resp=="s"||resp=="S")
document.write("<br> FIN");
</script>
</body>
</html>
(5 puntos)
En base al Radio calcula la longitud y el Area de una circunferencia (eleccin 1 y 2) y si quiero salir indicarlo (eleccin 3).
var:
Pi = 3,14
INICIO
l
a
Presentacin
eleccion
La funcin es:
Escoge
Longitud (1)
Area (2)
Fin (3)
Longitud
Function longitud(Radio)
Eleccion
Longitud=2*Pi*Radio
NO
Eleccion
==
1
return(Longitud)
SI
Teclea Radio
NO
Eleccion
==
2
SI
Radio
Teclea Radio
MostrarLongitud
Area
Radio
Function Area(Radio)
MostrarArea
Area=Pi*Radio2
return(Area)
SI
Eleccion
!=
3
NO
FIN
<html>
<head>
<title>Funciones</title>
<script type="text/javascript">
function longitud(radio)
{
var longitud;
longitud=2*3.14*radio;//se puede saltar este paso poniendo return=(2*3.14*radio);
return(longitud);
}
function area(radio)
{
var area;
area=3.14*radio*radio;//se puede saltar este paso poniendo return=(3.14*radio*radio);
return(area);
}
</script>
</head>
<body>
<p>Programa que en base al Radio de una circunferencia, Calcula la Longitud y el Area</p>
<script type="text/javascript">
var r;
var l;
var a;
var eleccion;
do
{
eleccion=prompt("Si quieres calcular la longitud, introduce 1 \nSi quieres calcular el Area,introduce 2 \nSi quieres finalizar
introduce 3","");
if(eleccion==1)
{
r=prompt("Introduce el valor del Radio, si hay decimales separados con un .","");
l=longitud(r);
document.write("<br> Para un valor del Radio de: "+r+" La longitud de la circunferencia es: "+l.toFixed(2));
//Para que solo muestre un numero determinado de decimales se pone .toFixed(2) entre () el numero de decimales
}
else if(eleccion==2)
{
r=prompt("Introduce el valor del Radio, si hay decimales separados con un .","");
a=area(r);
document.write("<br> Para un valor del Radio de: "+r+" El area de la circunferencia es: "+a.toFixed(2));
}
}
while(eleccion!=3);
document.write("<br> FIN");
</script>
</body>
</html>
onClik
res
<html>
<head>
<title>Numeros Aleatorios</title>
<script type="text/javascript">
function CalculoAleatorio()
{
var minimo, maximo, numposi, resultado;
minimo=document.getElementById("min").value;
maximo=document.getElementById("max").value;
resultado=Math.floor(Math.random()*(maximo-minimo+1))+parseInt(minimo);
document.getElementById("res").value=resultado;
}
</script>
</head>
<body>
<h1> CALCULO DE NUMEROS ALEATORIOS </h1>
<form name="f1" id="f1" action="">
<p> Teclea el numero mayor y menor del intervalo </p>
<p> Minimo:
<input type="text" name="min" id="min" size="5">
Maximo:
<input type="text" name="max" id="max" size="5">
<br><br>
<input type="button" value="Calcular Aleatorio" onClick="CalculoAleatorio()">
<br><br>Resultado:
<input type="text" name="res" id="res" size="5">
</form>
</body>
</html>
<html>
<head>
<title>Pruebas JavaScript</title>
<script type="text/javascript">
function producto(a,b)
{
var r;
a=document.getElementById("num1").value;
b=document.getElementById("num2").value;
r=a*b;
document.getElementById("r").value=r.toFixed(2);
document.getElementById("operacion").value=" X";
}
function dividir(a,b)
{
var r;
a=document.getElementById("num1").value;
b=document.getElementById("num2").value;
r=a/b;
document.getElementById("r").value=r.toFixed(2);
document.getElementById("operacion").value=" /";
}
function resta(a,b)
{
var r;
a=document.getElementById("num1").value;
b=document.getElementById("num2").value;
r=a-b;
document.getElementById("r").value=r.toFixed(2);
document.getElementById("operacion").value=" -";
}
function suma(a,b)
{
var r;
a=document.getElementById("num1").value;
b=document.getElementById("num2").value;
r=parseFloat(a)+parseFloat(b);
document.getElementById("r").value=r.toFixed(2);
document.getElementById("operacion").value=" +";
}
</script>
</head>
<body>
<form name="f1" id="f1" action="">
<fieldset>
<legend>Programa que simula una calculadora</legend>
<p><input type="text" name="num1" id="num1" size="6" maxlength="5">
<input type="text" name="operacion" id="operacion" size="1" maxlength="1">
<input type="text" name="num2" id="num2" size="6" maxlength="5" value=></p>
<p>=<input type="text" name="r" id="r" size="12" maxlength="10"></p>
<input type="button" value="/" onClick="dividir()">
<input type="button" value="X" onClick="producto()">
<input type="button" value="-" onClick="resta()">
<input type="button" value="+" onClick="suma()">
<input type="reset" value="CE">
</fieldset>
</form>
</body>
</html>
b
c
Sp = (a+b+c)/2
Area = sp*(sp-a)*(sp-b)*(sp-c)
<html>
<head>
<title>Calculo Area</title>
<script type="text/javascript">
function CalculoArea()
{
var a, b, c, sp, area;
a=parseInt(document.getElementById("a").value);
b=parseInt(document.getElementById("b").value);
c=parseInt(document.getElementById("c").value);
if(a<(b+c)&& b<(a+c) && c<(a+b))
{
if(a==b && b==c)
{
document.getElementById("Tipo").value="El Triangulo es Equilatero";
//document.write("<br> El Triangulo es Equilatero");
}
else if(a!=b && a!=c && b!=c)
{
document.getElementById("Tipo").value="El Triangulo es Escaleno";
//document.write("<br> El Triangulo es Escaleno");
}
else
{
document.getElementById("Tipo").value="El Triangulo es Isosceles";
//document.write("<br> El Triangulo es Isosceles");
}
sp=(parseInt(a)+parseInt(b)+parseInt(c))/2;
area=Math.sqrt(sp*(sp-a)*(sp-b)*(sp-c));
document.getElementById("area").value=area.toFixed(2);
}
else
{
document.getElementById("Tipo").value="El triangulo no se puede construir con los datos dados";
//document.write("<br> El triangulo no se puede construir con los datos dados");
}
}
</script>
</head>
<body>
<h1> CALCULO DEL AREA DE UN TRIANGULO DADOS SUS 3 LADOS </h1>
<form name="f1" id="f1" action="">
<p> Lado A:
<input type="text" name="a" id="a" size="5"></P>
<p> Lado B:
<input type="text" name="b" id="b" size="5"></p>
<p> Lado C:
<input type="text" name="c" id="c" size="5"></p>
<br><br>
<input type="button" value="Calcular Area" onClick="CalculoArea()">
<br><br>Area:
<input type="text" name="area" id="area" size="5">
<p>El Triangulo es: <input type="text" name="Tipo" id="Tipo" size="50"></p>
</form>
</body>
</html>
</head>
<!--Programa que comprueba que se ha metido correctamente la password-->
<!-- onLoad="document.getElementById('pass1').focus()" indica que el cursor
se posicione en la caja pass1 al iniciar la pagina, como hay puestas comillas dobles,
las comillas interiores se ponen simples para diferenciar-->
<body onLoad="document.getElementById('pass1').focus()">
<h1> Comprobacion Password </h1>
<form name="f1" id="f1" action="">
<p> Teclea clave (al menos 5 caracteres):
<!--Con onBlur hacemos que al abandonar la caja se llame a una funcion que comprueba la longitud-->
<input type="password" name="pass1" id="pass1" maxlength="10" size="8" onBlur="ComprobarLongitud()"></p>
Teclea la clave de nuevo:
<input type="password" name="pass2" id="pass2" maxlength="10" size="8" onBlur="ComprobarNull()">
<input type="button" value="Comprobar" onClick="ComprobarPassword()"></p>
</form>
</body>
</html>
Con "onBlur" hacemos que al abandonar la caja se llame a una funcin que comprueba la longitud.
<html>
<head>
<title>Calculo Area</title>
<script type="text/javascript">
function CalculoLetra()
{
//Se define la cadena de letras validad y en el orden para el DNI, la posicion va de 0 a 23
var cadena="TRWAGMYFPDXBNJZSQVHLCKE";
//dividiendo el numero de DNI entre 23 se obtiene un resto, que determina la posicion de la letra que le corresponde
var posicion=document.getElementById("dni").value%23;
//se determina la letra que corresponde segun la posicion calculada anteriormente
var letra=cadena.charAt(posicion);
//realizamos la comparacion para determinar si es correcto el DNI introducido, con un If else
if(document.getElementById("nif").value.toUpperCase()!=letra || document.getElementById("dni").value.length !=8)
//poniendo .length a la variable le estamos diciendo el tamao de la cadena de valores, en este caso de 8
{
alert("DNI introducido incorrectamente");
document.getElementById("dni").value="";
document.getElementById("nif").value="";
document.getElementById("dni").focus();
}
else
{
alert("DNI correcto");
document.getElementById("nif").value=document.getElementById("nif").value.toUpperCase();
}
}
</script>
</head>
<!-- onLoad="document.getElementById('dni').focus()" indica que el cursor
se posicione en la caja dni al iniciar la pagina-->
<body onLoad="document.getElementById('dni').focus()">
<h1> DNI </h1>
<form name="f1" id="f1" action="">
<p> DNI:
<input type="text" name="dni" id="dni" maxlength="8" size="8">
Letra:
<input type="text" name="nif" id="nif" maxlength="1" size="1">
<input type="button" value="OK" onClick="CalculoLetra()"></p>
</form>
</body>
</html>
Verificar todo
sw=true
NO
NO
NO
NO
Nombre
==
Nombre
==
SI
Nombre
==
SI
Nombre
==
SI
alert
SI
focus
alert
sw=false
alert
focus
focus
sw=false
alert
sw=false
focus
sw=false
return
sw
Ejercicio Reloj
Se trata de presentar un reloj digital
html>
<head>
<title>Eventos JavaScript</title>
<script type="text/javascript">
function RelojDigital()
{
var horaImprimir;
var fObj=new Date();//Creamos un objeto que contiene un array con datos de hora, fecha, dia etc del
ordenador.
var horas=fObj.getHours();//extraemos la hora
var minutos=fObj.getMinutes();//extraemos los minutos
var segundos=fObj.getSeconds();//extraemos los segundos
if(horas<=9)//le decimos que si las horas son menor que 9 meta un 0 por delante
horas="0"+horas;
if(minutos<=9)
minutos="0"+minutos;
if(segundos<=9)
segundos="0"+segundos;
horaImprimir=horas+":"+minutos+":"+segundos;
document.getElementById("reloj").value=horaImprimir;
}
</script>
</head>
<!--tt-->
<body onLoad="setInterval('RelojDigital()',1000)">
<h2> Reloj digital </h2>
<form name="f1" id="f1" action="">
<p>
<input type="text" name="reloj" id="reloj" size="8" style="color:#000000;backgroundcolor:#cccccc">
</p>
</form>
</body>
</html>
La primera lnea (xml version=1.0) no es obligatoria, algunos navegadores como el IE 4.5 para
Mac y el Netscape 4.0 no despliegan bien el cdigo con esta lnea, pero realmente hay muy pocos
navegadores de este tipo hoy da. Colocar esta lnea o no, es su eleccin. Sin embargo, est lnea
le indica al navegador la codificacin de la pgina, en este caso el iso-8859-1 seala que la pgina
actual ser desplegada usando los carcteres de Europa Occidental (que incluyen al espaol).
Puede teclear los acentos y las ees sin necesidad de aacute;, eacute; ntilde; y dems etcteras!
El documento xhtml1-transitional.dtd contiene los lineamientos que los tags deben seguir para que
la pgina sea un documento vlido. Esto es interesante pues XHTML nos permite crear nuestros
propios tags para estructurar nuestra informacin segn nuestras necesidades. Al iniciarnos con
XHTML usaremos el Document Type Declaration o DTD transitional, pues es un poco menos
exigente en la marcacin de los tags, sin embargo, cuando usted sienta que ya domina
satisfactoriamente el XHTML, deber pasarse al DTD strict.
4.- Todo tag abierto se cierra. incluso los tag img, type (de los formularios) y br deben cerrarse. En
HTML podemos tener:
<input type="hidden" value="9" name="pass">
<br>
<img src="imagen.jpg" alt="Imagen" title="Imagen" >
6.- Las anclas son IDs. Las anclas (anchor) que nos permiten navegar dentro una pgina grande,
ya no son referenciadas por el tag a sino por el ID del elemento hacia el cual deseamos ir. En
HTML podemos tener:
<a name=top> <img src=imagen.png> </a>
<a href="#top"> Ir arriba </a>
Pero en XHTML debe ser:
<img src="imagen.png" id="top"
title="Imagen" alt="Imagen" /></a><a href="#top">Ir arriba</a>
7.- Los atributos deben ser explcitos. Los atributos deben tener un nombre y un valor sin
reducirlos. En HTML podemos tener:
<input type="radio" value="2" checked>
<td nowrap> Texto </td>
<option value="m" selected>
Pero en XHTML debe ser:
<input type="radio" value="2" checked="checked">
<td nowrap="nowrap"> Texto </td>
<option value="m" selected="selected">
XML
XML es un Lenguaje de Etiquetado Extensible muy simple, pero estricto que juega un papel
fundamental en el intercambio de una gran variedad de datos. Es un lenguaje muy similar a HTML
pero su funcin principal es describir datos y no mostrarlos como es el caso de HTML.
XML es un formato que permite la lectura de datos a travs de diferentes aplicaciones y sirve para
estructurar, almacenar e intercambiar informacin.
Ventajas del XML
Es extensible: Despus de diseado y puesto en produccin, es posible extender XML con
la adicin de nuevas etiquetas, de modo que se pueda continuar utilizando sin complicacin
alguna.
El analizador es un componente estndar, no es necesario crear un analizador especfico
para cada versin de lenguaje XML. Esto posibilita el empleo de cualquiera de los
analizadores disponibles. De esta manera se evitan bugs y se acelera el desarrollo de
aplicaciones.
Si un tercero decide usar un documento creado en XML, es sencillo entender su estructura
y procesarla. Mejora la compatibilidad entre aplicaciones. Podemos comunicar aplicaciones
de distintas plataformas, sin que importe el origen de los datos, es decir, podramos tener
una aplicacin en Linux con una base de datos Postgres y comunicarla con otra aplicacin
en Windows y Base de Datos MS-SQL Server.
Transformamos datos en informacin, pues se le aade un significado concreto y los
asociamos a un contexto, con lo cual tenemos flexibilidad para estructurar documentos.
Estructura de un documento XML
La tecnologa XML busca dar solucin al problema de expresar informacin estructurada de la
manera ms abstracta y reutilizable posible. Que la informacin sea estructurada quiere decir que
se compone de partes bien definidas, y que esas partes se componen a su vez de otras partes.
Entonces se tiene un rbol de trozos de informacin. Ejemplos son un tema musical, que se
compone de compases, que estn formados a su vez por notas. Estas partes se llaman
elementos, y se las seala mediante etiquetas.
Una etiqueta consiste en una marca hecha en el documento, que seala una porcin de ste como
un elemento. Un pedazo de informacin con un sentido claro y definido. Las etiquetas tienen la
forma <nombre>, donde nombre es el nombre del elemento que se est sealando.
A continuacin se muestra un ejemplo para entender la estructura de un documento XML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--Le decimos la version de XML-->
<?xml-stylesheet type="text/css" href="css/filmoteca.css"?>
<!--Le aadimos estilos al xml en un fichero aparte-->
<pelicula>
<!--Este nombre de etiqueta me lo he inventado, puedo poner el que quiera-->
<!--Hay que seguir una jerarquia, de tal manera que pelicula contiene director y actores
contiene actor-->
<titulo>Tom & Jerry</titulo>
<!-- al poner y en simbolo hay que hacerlo con su codigo & porque si no da error-->
<director>Akira Kurosawa</director>
<actores>
<actor>Asakadazu Nakai</actor>
<actor>Yuri Salomi</actor>
</actores>
</pelicula>
:block;
:30px;
:block;
:20px;
:"Director:";
:20px;
:block;
:20px;
:"Reparto:";
:20px;
cadena de texto
valores booleanos
nmeros enteros
nmeros reales
fecha
hora
Ejemplo:
Dersu Uzala
true/false
27, -3542
-27,32 , 519,38
27/03/2012
23:15
Y su xsd:
<?xml version="1.0" encoding="ISO-8859-1"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema">
<element name="pelicula">
<complexType>
<sequence>
<element name="titulo" type="string"/>
<element name="director" type="string"/>
<element name="reparto">
<complexType>
<sequence>
<element maxOccurs="unbounded" name="actor" type="string"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</schema>
Un ejemplo mas:
<?xml version="1.0" encoding="ISO-8859-1"?>
<hemeroteca xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:noNamespaceSchemaLocation="dtd/hemerotecaschema.xsd">
<pelicula>
<titulo>Dersu Uzala</titulo>
<director>Alex de la Iglesia</director>
<reparto>
<actor>Jose de la Vega</actor>
<actor>Juan Etxanove</actor>
</reparto>
</pelicula>
<pelicula>
<titulo>Titanic</titulo>
<director>James Camero</director>
<reparto>
<actor>Leonardo di Caprio</actor>
<actor>Kate Winslet</actor>
</reparto>
</pelicula>
<pelicula>
<titulo>Airbag</titulo>
<director>Pedro Ruiz</director>
</pelicula>
</hemeroteca>
y su xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="hemeroteca">
<xs:complexType>
<xs:sequence>
<xs:element name="pelicula" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="titulo" type="xs:string"/>
<xs:element name="director" type="xs:string"/>
<xs:element name="reparto" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="actor" maxOccurs="unbounded" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
con xs: delante definimos que es un espacio de nombres propio.
Otro ejemplo mas completo:
<?xml version="1.0" encoding="UTF-8"?>
<hemeroteca
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:noNamespaceSchemaLocation="hemerotecaschema2.xsd">
<pelicula>
<titulo>Dersu Uzala</titulo>
<director>Akira Kurosawa</director>
<!--reparto es opcional. Si aparece, actor se repite de 1 a n veces.
el atributo papel es opcional y si aparece solo puede ser Actor principal o secundario-->
<reparto>
<actor papel="Actor principal">Asakadazu Nakai</actor>
<actor papel="Actor principal">Yuri Solomin</actor>
<actor papel="Actor secundario">Svletana Danilchenko</actor>
<actor>Dima Kortishev</actor>
</reparto>
</pelicula>
<pelicula>
<titulo>Dos hombres y un destino</titulo>
<director>George Roy Hill</director>
<reparto>
<actor papel="Actor principal">Robert Redford</actor>
<actor papel="Actor principal">Paul Newman</actor>
<actor papel="Actor secundario">Katharine Ross</actor>
</reparto>
</pelicula>
<pelicula>
<titulo>Airbag</titulo>
<director>Pedro Almodovar</director>
</pelicula>
</hemeroteca>
Y su xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xsd:element name="hemeroteca">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="pelicula">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="titulo" type="xsd:string" />
<xsd:element name="director" type="xsd:string" />
<xsd:element name="reparto" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="actor" >
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="papel" >
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Actor principal" />
<xsd:enumeration value="Actor secundario" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Ejemplo 1 de XML:
1 Creamos el archivo XML (hemerotecaschema3.xml)
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="hemerotecaschema3.xsl"?>
<hemeroteca xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:noNamespaceSchemaLocation="hemerotecaschema3.xsd">
<pelicula>
<titulo>Dersu Uzala</titulo>
<director>Akira Kurosawa</director>
<!--reparto es opcional. Si aparece, actor se repite de 1 a n veces.
el atributo papel es opcional y si aparece solo puede ser Actor principal o secundario-->
<reparto>
<actor papel="Actor principal">Asakadazu Nakai</actor>
<actor papel="Actor principal">Yuri Solomin</actor>
<actor papel="Actor secundario">Svletana Danilchenko</actor>
<actor>Dima Kortishev</actor>
</reparto>
</pelicula>
<pelicula>
<titulo>Dos hombres y un destino</titulo>
<director>George Roy Hill</director>
<reparto>
<actor papel="Actor principal">Robert Redford</actor>
<actor papel="Actor principal">Paul Newman</actor>
<actor papel="Actor secundario">Katharine Ross</actor>
</reparto>
</pelicula>
<pelicula>
<titulo>Airbag</titulo>
<director>Pedro Almodovar</director>
</pelicula>
<pelicula>
<titulo>La balada de Cable Hogue</titulo>
<director>Sam Peckinpah</director>
<reparto>
<actor papel="Actor principal">Jason Robards</actor>
<actor papel="Actor principal">Stella Stevens</actor>
<actor papel="Actor secundario">David Warners</actor>
</reparto>
</pelicula>
</hemeroteca>
3 Creamos un archivo para mostrar el XML como si fuese una pagina web (hemerotecaschema3.xsl)
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<head>
<title>Hemeroteca</title>
<link rel="StyleSheet" href="hemerotecaschema3.css" type="text/css"/>
</head>
<body>
<h1>Peliculas</h1>
<table border="1">
<tr>
<th>Titulo</th><th>Director</th><th>Reparto</th>
</tr>
<xsl:for-each select="hemeroteca/pelicula">
<!--si pongo <xsl:for-each select="hemeroteca/pelicula[director='>Akira Kurosawa']"> muestra solo
el director indicado-->
<!--si pongo <xsl:sort select="titulo"/> ordena por Titulo en la tabla-->
<!--si pongo una condicion <xsl:if test="price > 8 and price < 10"> mayor que 8 y menor que
10, solo aparecen la peliculas que la cumplan, si existiera la etiqueta price, recordar poner etiqueta de
cierre despues de </tr> con </xsl:if>-->
<tr>
<td class="resaltado"><xsl:value-of select="titulo"/></td>
<td><xsl:value-of select="director"/></td>
<td>
<ul>
<xsl:for-each select="reparto/actor">
<!--Como reparto tiene varios elementos se pone un for-each y la ruta a partir de pelicula-->
<li>
<xsl:value-of select="."/>
<!--La forma de que aparezcan todos los actores que haya es poniendo "."-->
<ul>
<span class="papel"><xsl:value-of select="@papel"/></span>
<!--Esta es la forma para que aparezca un atributo como papel, con @ por delante-->
</ul>
<br />
</li>
</xsl:for-each>
</ul>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Ejemplo 2 de XML:
1 Creamos el archivo XML (cdcatalog.xml)
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
<catalog xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:noNamespaceSchemaLocation="cdcatalog.xsd">
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
<cd>
<title>Greatest Hits</title>
<artist>Dolly Parton</artist>
<country>USA</country>
<company>RCA</company>
<price>9.90</price>
<year>1982</year>
</cd>
<cd>
<title>Still got the blues</title>
<artist>Gary Moore</artist>
<country>UK</country>
<company>Virgin records</company>
<price>10.20</price>
<year>1990</year>
</cd>
<cd>
<title>Eros</title>
<artist>Eros Ramazzotti</artist>
<country>EU</country>
<company>BMG</company>
<price>9.90</price>
<year>1997</year>
</cd>
</catalog>
Nota: El listado original tiene mas cd pero como no entraban en una hoja, los he borrado, no hay problema
porque el formato era el mismo que los que estn puestos.
3 Creamos un archivo para mostrar el XML como si fuese una pagina web (cdcatalog.xsl)
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<head>
<title>Catalogo CDs</title>
<link rel="StyleSheet" href="cdcatalog.css" type="text/css"/>
</head>
<body>
<h1>Mi coleccion de CDs</h1>
<table border="1">
<tr>
<th>Titulo</th><th>Artista</th><th>Precio</th>
</tr>
<xsl:for-each select="catalog/cd">
<!--asi <xsl:for-each select="catalog/cd[artist='Bob Dylan']"> muestra solo el artista indicado-->
<xsl:sort select="price"/>
<!--con <xsl:sort select="price"/> ordena por precio-->
<xsl:if test="price > 8 and price < 10">
<!-- pongo una condicion <xsl:if test="price > 8 and price < 10"> mayor que 8 y menor que 10-->
<tr>
<td class="resaltado"><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
<xsl:choose>
<!-- pongo una eleccion (choose), que si es mayor que 9 (when) el precio lo ponga en color rojo, los
demas (otherwise) los deje tal cual, o con css darles otro color o caracteristica-->
<xsl:when test="price > 9">
<td class="rojo"><xsl:value-of select="price"/></td>
</xsl:when>
<xsl:otherwise>
<td><xsl:value-of select="price"/></td>
</xsl:otherwise>
</xsl:choose>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Ejemplo 3 de XML:
1 Creamos el archivo XML (biblioteca.xml)
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="biblioteca.xsl"?>
<biblioteca xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:noNamespaceSchemaLocation="biblioteca.xsd">
<libro>
<titulo>El mesias</titulo>
<autor>Dan Brown</autor>
<editorial>Paraninfo</editorial>
<isbn>24567266</isbn>
<precio tapa="Tapa blanda">10.50</precio>
<precio tapa="Tapa dura">17.50</precio>
<edicion>1985</edicion>
</libro>
<libro>
<titulo>Desaire</titulo>
<autor>Ricardo Montalban</autor>
<editorial>Blume</editorial>
<isbn>34562398</isbn>
<precio tapa="Tapa blanda">9.50</precio>
<precio tapa="Tapa dura">15.45</precio>
<edicion>1995</edicion>
</libro>
<libro>
<titulo>Asesinos</titulo>
<autor>Richard Stamp</autor>
<editorial>Sesgo</editorial>
<isbn>32565388</isbn>
<precio tapa="Tapa blanda">11.50</precio>
<edicion>1998</edicion>
</libro>
<libro>
<titulo>Contact</titulo>
<autor>Carl Sagan</autor>
<editorial>Editors</editorial>
<isbn>52564328</isbn>
<precio tapa="Tapa blanda">12.50</precio>
<precio tapa="Tapa dura">22.35</precio>
<edicion>1999</edicion>
</libro>
<libro>
<titulo>Alien</titulo>
<autor>Sergi Tomas</autor>
<editorial>Editors</editorial>
<isbn>22264728</isbn>
<precio tapa="Tapa dura">20.35</precio>
<edicion>1975</edicion>
</libro>
</biblioteca>
Nota: El listado de libros es corto, pero como prueba para hacer el xml es suficiente.
2 Creamos un archivo para Definir la estructura y restricciones del XML (biblioteca .xsd)
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xsd:element name="biblioteca">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="libro">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="titulo" type="xsd:string" />
<xsd:element name="autor" type="xsd:string" />
<xsd:element name="editorial" type="xsd:string" />
<xsd:element name="isbn" type="xsd:integer" />
<xsd:element minOccurs="1" maxOccurs="2" name="precio">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name="tapa">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Tapa blanda" />
<xsd:enumeration value="Tapa dura" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="edicion" type="xsd:integer" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
3 Creamos un archivo para mostrar el XML como si fuese una pagina web (biblioteca .xsl)
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<head>
<title>Biblioteca</title>
<link rel="StyleSheet" href="biblioteca.css" type="text/css"/>
</head>
<body>
<h1>Listado de Libros</h1>
<table border="1">
<tr>
<th>Titulo</th><th>Autor</th><th>Editoria</th><th>ISBN</th><th>Precio</th><th>Edicion</th>
</tr>
<xsl:for-each select="biblioteca/libro">
<!--asi <xsl:for-each select="biblioteca/libro[autor='Dan Brown']"> muestra solo el autor indicado-->
<xsl:sort select="precio"/>
<!--con <xsl:sort select="precio"/> ordena por precio-->
<!-- pongo una condicion <xsl:if test="precio > 8 and price < 10"> mayor que 8 y menor que 10-->
<tr>
<td class="resaltado"><xsl:value-of select="titulo"/></td>
<td><xsl:value-of select="autor"/></td>
<td><xsl:value-of select="editorial"/></td>
<td><xsl:value-of select="isbn"/></td>
<td>
<ul>
<xsl:for-each select="precio">
<!--Como hay varios precios se pone un for-each y la ruta a partir de libro-->
<li>
<span class="papel"><xsl:value-of select="@tapa"/><xsl:text> : </xsl:text></span><xsl:value-of
select="."/>
<!--Esta es la forma para que aparezca un atributo como tapa, con @ por delante-->
<!--La forma de que aparezcan todos los precios que haya es poniendo "."-->
</li>
</xsl:for-each>
</ul>
</td>
<td><xsl:value-of select="edicion"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
xmlhttp.send()
enviamos los datos
xmlDoc=xmlhttp.responseXML
.responseXML con este atributo se devuelve una referencia al cuerpo del documento
descargado del servidor en la peticin XMLHttpRequest
El XML DOM
El DOM XML define una manera estndar para acceder y manipular documentos XML.
El XML DOM considera que un documento XML como una estructura de rbol.
Todos los elementos se puede acceder a travs del rbol DOM. Su contenido (texto y los
atributos) puede ser modificado o eliminado, y los nuevos elementos se pueden crear. Los
elementos, su texto y sus atributos son conocidos como nodos.
Documento XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy -->
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Nota Importante!
getElementsByTagName("to")[0].childNodes[0].nodeValue
Para extraer el texto "Tove" desde el elemento <to> en el archivo XML de arriba ("note.xml").
Tenga en cuenta que incluso si el archivo XML contiene slo un elemento <to> tienes que
especificar el ndice de la matriz [0]. Esto es porque getElementsByTagName () devuelve
siempre un array.
Nota Ms Importante!
If you just double-click on an HTML file to open it in IE, IE is running in a higher security
mode and won't allow things like ajax request. You need to upload your files to a web server
and access the file over HTTP.
Use a web server to upload the files to and test with. If this is going to be on a web server
anyway, then you should be developing it on a web server. Otherwise, you can change IE's
security settings.
RESUMEN JavaScript
>Declaracin de JavaScript:
<script type="text/javascript">
"Aqu iran todas las sentencias de javascript"
</script>
>Declarar variables que se van a usar:
var nombre;
var edad;
>Escribir un texto:
document.write("<br> Aqu el texto que se quiera que aparezca en pantalla");
con <br> hacemos saltos de linea
>Escribir un texto en ventana emergente:
alert("\n Aqui el texto que se quiere que aparezca");
con \n hacemos saltos de linea, (en alert no funciona <br>)
>Para poner comentarios seria:
// As para comentarios de una linea
/* As para comentarios de mas de una linea */
>Para asignar valores a las variables declaradas, seria:
var nombre;
nombre=prompt("Introduce tu nombre","");
las segundas comillas es por si se quiere que aparezca en la ventana emergente un nombre
metido por defecto o como ejemplo, que se puede cambiar al meter el que se pide.
nombre=prompt("Introduce tu nombre","Pepe");
>Operadores:
cuando se trabaja con nmeros en las peticiones de datos se usa parseInt:
numero=parseInt(prompt("Introduce un numero",""));
Operador
Incremento
Disminucin
Menos unitario
Suma
Resta
Multiplicacin
Division
Resto (modulo)
Smbolo
++
-+
*
/
%
Accin
Incrementa una unidad
Disminucin
Vuelve negativo un nmero
Suma dos numeros
Resta el segundo numero del primero
Multiplica dos nmeros
Divide un numero entre otro
Facilita el resto de la division entre 2 numero
num_ale
num_lanz
cont
0
36
>Funciones y Mtodos:
Una funcin es un elemento del programa creado con la finalidad de realizar una determinada
accin. Una funcin puede ser llamada desde otra.
En JavaScript, las funciones se definen en la cabecera del documento HTML. Su sintaxis es:
function nombre_funcin(arg1, arg2, ....., arg9)
{
Funcion
Sentencias;
}
Ejemplo calculo del rea de un circulo:
function areacirculo(radio)
{
var pi;
var area;
pi= Math.PI;
area=pi*radio*radio;
return area;
}
Sentencias
Return
>Creacin Eventos:
Hacer click en un recuadro o pasar con el ratn por una zona de la pantalla se llama evento, en JavaScript
para hacer referencia al contenido de una caja (creada con html) se utiliza:
radio=document.getElementById("caja1").value;
"caja1" es el nombre puesto en id
Para enviar un texto, dato o resultado obtenido en JavaScript a una caja de html se utiliza:
document.getElementById("caja1").value=r;
r es el dato que aparecer en la caja1
document.getElementById("caja1").value=""; si = ""; borra el contenido de la caja1
Para poner en foco (que el cursor este en) una caja de html se utiliza:
document.getElementById("caja1").focus();
pone el cursor en input con id="caja1"
La caja creada con html que contendra el dato o donde se vera, seria:
<input type="text" name="caja1" id="caja1" size="3" maxlength="3">
La caja creada con html tipo password, que contendra el dato o donde se vera, seria:
<input type="password" name="pass1" id="pass1" size="3" maxlength="3">
Para llamar a una funcin desde un recuadro de pulsar en html seria:
<input type="button" value="area Circulo" onClick="areacirculo()">
Para llamar a una funcin al abandonar una caja:
<input type="password" name="pass1" id="pass1" maxlength="5" size="5" onBlur="Verificar()">
Boton para borrar contenido de las cajas en html seria:
<input type="reset" value="borra">
Declarar un Formulario:
<form name="f1" id="f1" action=""> </form>
Botn enviar formulario:
<input Type="submit" value="enviar">
Enviar formulario a direccin de correo:
<form name="f1" id="f1" action="mailto:pepe@gmail.com">
No enviar un formulario hasta revisarlo con "onSubmit", la funcin devolver false o true:
<form name="f1" id="f1" action="mailto:pepe@gmail.com" onSubmit="return verifica()">
La funcin devolver true si la verificacin es correcta y el formulario se enviara.
La funcin devolver false si la verificacin no es correcta y entonces no se envi el formulario.
seria return(sw); donde sw=false; o sw=true;
Poner en foco una caja del formulario al iniciar la pagina se hace aadiendo a <body> "onLoad"
<body onLoad="document.getElementById('caja').focus()">
Para determinar si una caja contiene un determinado n de caracteres se utiliza length con un if
if(document.getElementById("caja1").value.length<5)
Para determinar si una caja no se ha rellenado, se utiliza =="" con un if
if(document.getElementById("caja1").value=="")
Definicin cadena y llamada a una posicin:
var cadena="ABCDEFGHYJKLMO";
se cuenta de de izquierda a derecha y de 0 a 15
var letra=cadena.charAt(posicion); asi cadena.charAt(5)=F;
Array con datos de hora, fecha, da etc. del ordenador:
var fObj=new Date();
var horas=fObj.getHours(); Extrae la hora var minutos=fObj.getMinutes(); Extrae los minutos
var segundos=fObj.getSeconds(); Extrae los segundos