Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Paso de parametros en HTML con client-side Javascript


Se trata de un sencillo script Javascript para recoger los parámetros que le llegan a una página.


28/5/04 - El script siguiente se colocará "a pelo" en la página que debe de recibir los parametros, o podrá copiarse en un fichero .js vinculado. En ambos casos el código no debe estar en ninguna función, para que se ejecute siempre que se carga la página. Una vez se haya ejecutado el script tendremos los valores recibidos en las correspondientes variables. Aquellas que no hayamos recibido tendrán el valor por defecto que hamos fijado.

El Código:
<script language="javascript">
//Autor: Bruno Suárez Laffargue
//Version: 1.1

//Definimos las variables necesarias
variable=unValorPorDefecto;//Habrá que establecerlo

//Capturamos la URL
var callingURL = document.URL;

//Separamos los parametros
var cgiString = callingURL.substring(callingURL.indexOf('?')+1,callingURL.length);

//Fijamos el sepador entre parametros
var DELIMETER = '&';

//Eliminamos la almohadilla, si es que existe... cortamos por lo sano!
if (cgiString.indexOf('#')!=-1){
    cgiString=cgiString.slice(0,cgiString.indexOf('#'));
}

//Troceamos el cgiString ya limpiado, separando cada par variable=valor
//en una de las posiciones del array
var arrayParams=cgiString.split(DELIMETER);

//Recorremos el array de parametros evaluando cada uno de los pares variable=valor
for (var i=0;i<arrayParams.length;i++){
    eval(arrayParams[i].substring(0,arrayParams[i].indexOf('=')+1)+"\""+
    arrayParams[i].substring(arrayParams[i].indexOf('=')+1,arrayParams
     [i].length)+"\"");
}
</script>


Una de las restricciones funcionales para que esto funcione es tener tantas variables javascript definidas como parametros se van a recibir, inicializadas a un valor por defecto. Además estas variables han de llamarse exactamente igual que los parametros, ya que si no, no funciona. En ningún caso.

 Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 1 categoria relacionada
+ 2 comentarios (Añadir)
+ 6 comentarios no revisados

 Autoría, licencia y acciones sobre este artículo

Informe de Bruno Suárez Laffargue*
Analista/Programador
URL: http://www.helloworldsolutions.com/

Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Taller de Javascript

Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en Scripts en Javascript


 Comentarios de los visitantes
Los comentarios de los visitantes son para ampliar la información del artículo. Cualquiera puede participar.
Se muestran 2 comentarios revisados

 Comentario de Jesús Navarrete
21/10/04 
Hola, He utilizado el script para una web html, pero probando en distintos navegadores, sólo funcionaba en el mozilla, y poniendo unas trazas he averiguado que la línea:

var callingURL = document.URL;

debería ser sustituida, por lo que he leido, URL no está en todos los navegadores, es mejor usar location, aunque al final he usado location.href, de la otra forma me daba problemas en los dos que he estado probando, así que quedaría:

var callingURL = document.location.href;

y funciona de maravilla en mozilla 1.7.3 y explorer 6.0.2800.1106.

Un saludo y felicidades al autor.

 Comentario de Jesús Esteiner Alonso
19/7/05 
Hola todos,

Estuve probando la verdad lo que comentaban y no me funciono, sin embargo pude lograrlo de la siguiente manera:

function ObtenerP(nParametro)
{
//Capturamos la URL
var callingURL = document.location.href;

//Separamos los parametros
var cgiString = callingURL.substring(callingURL.indexOf('?')+1,callingURL.length);

// Para manejar control ya que el arreglo empieza en cero restaremos 1 al parametro recibido
nParametro -=1;

// Dividimos mediante la función split los parámetros separados por ampersam
var col_array=cgiString.split("&");
var part_num=0;

// Ahora hacemos un recorrido del arreglo y buscamos el # de parametro solicitado!
while (part_num < col_array.length)
{ if ( part_num == nParametro )
return col_array[part_num];
else
part_num+=1;
}

// evaluar que devolver cuando no lo
// encuentra...
return 0;
}

La idea es tener separado tan solo por & ampersand o el caracter que escojan luego se llama por el # de parametro,

ObtenerP(1);

Regresará el valor de la primera instancia,

Saludos!

Añadir un comentario al artículo Añadir un comentario del artículo
 Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
 Se han encontrado 6 comentarios sin revisar

Ver el comentario no revisadoVer los comentarios no revisados
Añadir un comentario al artículo Añadir un comentario del artículo



Enlaces:
Maestrosdelweb
  Ir arriba

Manuales relacionados
+Taller de Javascript
Categorías
+Scripts en Javascript

Lectura recomendada

Compra este libro en Agapea, la librería urgente a domicilio.

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia