Foros del Web » Programando para Internet » Javascript »

Capturar variable?

Estas en el tema de Capturar variable? en el foro de Javascript en Foros del Web. Hola amigos, tengo una pregunta.. Necesito capturar unas variables q vienen en la URL "Pero con Javascript, nada de asp ni php). Con este codigo ...
  #1 (permalink)  
Antiguo 22/04/2011, 18:19
 
Fecha de Ingreso: agosto-2007
Mensajes: 79
Antigüedad: 16 años, 8 meses
Puntos: 0
Capturar variable?

Hola amigos, tengo una pregunta..
Necesito capturar unas variables q vienen en la URL "Pero con Javascript, nada de asp ni php).

Con este codigo capturo las variables "id" y "ref" y parece un alert con para cada variable. Hasta aqui todo bien.

Código:
<script language="javascript">
var Url = location.href;
Url = Url.replace(/.*\?(.*?)/,"$1");
Variables = Url.split ("&");
for (i = 0; i < Variables.length; i++) {
	Separ = Variables[i].split("=");
	eval ('var '+Separ[0]+'="'+Separ[1]+'"');
}
alert(id);
alert(ref);	
</script>
La cosa es que necesito colocar la variabe "id" y la variable "ref" que recogi con JavaScript en un enlace de texto en la pagina. algo asi:

http://www.misitio.com/pagina.asp?id=ID&ref=REF

Algun codigo? porque no se mucho de Javascript..

Espero puedan ayudarme.
Gracias.
  #2 (permalink)  
Antiguo 22/04/2011, 18:35
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Capturar variable?

buenas,
depende del modo en que estas trabajando el documento. si usas document.write o innerHTML, entonces estas trabajando directamente con un flujo de codigo, o mas bien un string. lo que debes hacer es construir (correctamente concatenar) ese string usando los valores de la variable. para concatenar string debes usar el operador de -eventualmente- concatenar (+). por supuesto, las variables tambien deben ser del tipo string para evitar sorpresas.
Código:
"string" + variable + "string" + ...

// por tanto, asumiendo una url ;
"hosting.dominio/ruta/documento.ext?parametro=" + variable + "&parametro1=" + variable ...
si estas trabajando con DOM -que dado tu descripcion lo dudo-, debes obtener primero la referencia del enlace y luego concatenas las variables con el string de la misma forma que la exposicion anterior. solo que, ese resultado lo asignas a la propiedad href del enlace.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 22/04/2011, 21:09
 
Fecha de Ingreso: agosto-2007
Mensajes: 79
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Capturar variable?

Lo siento, No te comprendi.

Tengo lo siguiente en la pagina.
Código:
<script language="javascript">
var Url = location.href;
Url = Url.replace(/.*\?(.*?)/,"$1");
Variables = Url.split ("&");
for (i = 0; i < Variables.length; i++) {
	Separ = Variables[i].split("=");
	eval ('var '+Separ[0]+'="'+Separ[1]+'"');
}
alert(id);
alert(ref);	
</script>

<script language="javascript"
src="http://www.mipagina.com/pagina.asp?id="+id+"&ref="+ref+"">
</script>
Esto es todo lo que hay en la pagina. Y no funciona como me dices.
La pagina http://www.mipagina.com/pagina.asp no recibe las variables id y ref

Gracias por el apoyo que puedan prestarme.
  #4 (permalink)  
Antiguo 22/04/2011, 21:37
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Capturar variable?

en ese caso tendrias que crear el elemento <script> desde javascript. las variables son visible solo desde el entorno javascript. puedes hacerlo de las dos formas que antes indique: document.write y DOM. con document.write es muy arcaico. con DOM es menos problematico, aca tienes un articulo con una funcion para agregar scripts al documento. http://javascript.about.com/library/bladdjs.htm
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:33.