Pasando datos entre paginas con JavaScript

Escrito por Mauro Rondinelli el Domingo 03 de Junio de 2001 a las 00:00hs

En este articulo veremos la posibilidad de pasar datos entre paginas utilizando JavaScript. La forma de hacerlo es pasando estos datos como parametros en la URL. ¿Que es Esto? Facil, tenemos la direccion de la pagina y a esta le añadimos unos parametros adicionales que contendran los valores que queremos pasar y quedaria algo asi...

http://www.servidor.com/leer.htm?verinfo=2

Noten que despues del simbolo '?' hay un texto, bueno, esa es la idea, pero ustedes se preguntaran ¿La pagina 'leer.htm?verinfo=2' existe? y la respuesta es no, la pagina que existe es 'leer.htm' lo que hay a continuacion son los parametros y no hay que preocuparce por nada dado que el servidor interpreta que queremos entrar a la pagina 'informacion.htm' asi que no se producira ningun tipo de error.

Bueno ahora les explicare el ejemplo sobre el cual aplicaremos este articulo. La idea es hacer un tablon de noticias, para esto tenemos dos paginas 'titulares.htm' que muestra solo los titulos de las noticias y 'leer.htm' que muestra la noticia pasada como parametro. Les recomiendo que antes vean el ejemplo funcionando haciendo click aqui.

El ejemplo es solo una de las utilidades que puede tener esta rutina de JavaScript, ahora pasaremos a explicar el mismo, lo primero que tenemos que hacer es 'limpiar' la direccion URL dado que el navegador cambia los caracteres de espacio por los signos '%' aparte de otras modificacion, entonces debemos asegurarnos de 'descodificar' la URL para ello nesecitamo estas linea de codigo...

var remplaza = /\+/gi;
var url = window.location.href;

url = unescape(url);
url = url.replace(remplaza, " ");
url = url.toUpperCase();

Con estas 5 lineas de codigo ya tenemos la URL descodificada y almacenada en la variable 'url', lo que le mostraremos a continuacion es la funcion que nos devolvera el valor del parametro que queremos obtener...

function obtener_valor(variable)
{
var variable_may = variable.toUpperCase();
var variable_pos = url.indexOf(variable_may);

if (variable_pos != -1)
{
var pos_separador = url.indexOf("&", variable_pos);

if (pos_separador != -1)
{
return url.substring(variable_pos + variable_may.length + 1, pos_separador);
} else
{
return url.substring(variable_pos + variable_may.length + 1, url.length);
}
} else
{
return "NO_ENCONTRADO";
}
}
</script>

Para utilizar esta funcion desde el archivo 'leer.htm' del ejemplo utilizamos el siguiente codigo...

var valor = obtener_valor("verinfo");

Y lo que a posterior hacemos es mostrar la informacion que corresponda...

if (valor == 1)
{
document.write ('Microsoft a sido llevada a juicio por monopolio, ....');
}

if (valor == 2)
{
document.write ('Luego de vender 1 millon de ejemplares los duñeos de i-node dicen que sus expectativas...');
}

if (valor == 3)
{
document.write ('Ya son mas de 120 Millones las paginas en la red, dado...');
}

Les recomiendo, si todavia no lo hicieron, que miren el ejemplo haciendo click aqui, en el mismo tambien podran encontrar el codigo fuente corespondiente a cada uno.


comentarios



  1. Gracias!
    Recorri muchas paginas buscando la solucion a un tema y todas apuntaban al uso de event handlers....y ninguna me funcionó. Probé la tuya y funcionó de inmediato!

    Solo como dato: estoy preparando un compendio de J.M.Serrat y tengo una página con todas sus letras de canciones. Ahora (con tu solucion) hago un link desde otra página directamente a la letra que me interesa (usando Anclas) y en el link puse el número de canción como variable (como indicaste, seguida del "?"), asi es que puedo reproducir el tema seleccionado....

    Lo unico que me falla ahora es que los temas mp3 deben estar en el mismo directorio que la pagina donde esta el comando ... Esto es porque lo uso en JavaScript? (cuando lo uso directamente fuera del no hay problema .... pero e ese caso no puedo usar los "if" del JavaScript para seleccionar el mp3....

    Saludos!



  2. quiero aprender esto y mas... ayudenme .. aprendo facil...jejej



  3. mmm llego mi comentario?? porke akabo de escribir uno y no aparece :S tengo un problema en http://www.tucollage.com

agregar comentario


Se permiten las etiquetas HTML <b>, <i> y <p>. Si ingresa alguna dirección web o dirección de email serán convertidos en enlaces automáticamente.





publicidad