Foros del Web » Programando para Internet » Javascript »

Capturar el valor de una variable asignada mediante un link con javascript.

Estas en el tema de Capturar el valor de una variable asignada mediante un link con javascript. en el foro de Javascript en Foros del Web. Hola, qué tal? Perdón por preguntar por cosa tan elemental... pero juro haber buscado y buscado y estoy simplemente sin poder encontrar respuesta a esto. ...
  #1 (permalink)  
Antiguo 18/07/2008, 02:08
 
Fecha de Ingreso: septiembre-2007
Ubicación: Buenos Aires, Argentina.
Mensajes: 95
Antigüedad: 16 años, 8 meses
Puntos: 2
Capturar el valor de una variable asignada mediante un link con javascript.

Hola, qué tal?

Perdón por preguntar por cosa tan elemental... pero juro haber buscado y buscado y estoy simplemente sin poder encontrar respuesta a esto. Usé el search del foro también.

Tengo 4 idiomas distintos. Los links con esta forma: .../archivo.html?lang=xx

Lo que quiero es que dependiendo del valor de la variable lang, se muestre o no algo.

Eso no es el problema, el problema es que no puedo obtener el valor de esa variable, no se cómo.

En php sería:

Código PHP:
$lang $_GET['lang'] ; 
verdad?

En Javascript como hago?

Porque necesito tener el valor de esa variable en Javascript. Estoy forzado a eso por estar editando algo que se comunica a un .swf en un script java.

O bien tengo que poder obtener ese valor, o sino obtenerlo en php y pasarlo a Javascript y eso ya se me complica, no quiero llegar a eso.

Encontré esto por la web..

Código:
var URL = unescape(window.document.location);

if (URL.indexOf("?") > -1) {
//whether the location contains a "?" or not

var list1 = URL.split("?");
//split at "?";
var list2 = list1[1].split ("=");
//split at "=";
var list2[0] = list2[1];
//assignment
Voy a probar con eso, pero me gustaría si alguno me dice algo al respecto.

Gracias!
  #2 (permalink)  
Antiguo 18/07/2008, 06:05
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Respuesta: Capturar el valor de una variable asignada mediante un link con javascript

Hola _Maxi:

Javascript puede recuperar la ruta completa del documento actual, con variables incluidas, tal y como posteas (con location). Hacerlo no es dificil (google: javascript+variable+url), incluso creo que hay un post en las FAQ sobre ello.

También puedes lograrlo con PHP y pasarlas al javascript como comentas, no se complica tanto:

Código PHP:
$lang $_GET['lang'];
echo 
"<script type='text/javascript'>";
echo 
" var miVariable = '".$lang."'";
echo 
"</script>"
Con ello tendríamos $_GET["lang"] disponible en el lado del cliente con el nombre miVariable.



Saludos
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #3 (permalink)  
Antiguo 18/07/2008, 06:43
 
Fecha de Ingreso: septiembre-2007
Ubicación: Buenos Aires, Argentina.
Mensajes: 95
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: Capturar el valor de una variable asignada mediante un link con javascript

Y para usar la variable dentro de un javascript con abrir otro script la variable va a seguir existiendo? o tengo que trabajar todo adentro del php? en el caso que pusiste vos, antes de que cierre el </script>, o puedo cerrar ese y después en otro pedaso de código, quizás fuera de php, utilizarla si quiero?

Gracias por la respuesta.
  #4 (permalink)  
Antiguo 18/07/2008, 06:45
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Capturar el valor de una variable asignada mediante un link con javascript

Otra opción, definir un atributo target en el enlace y recogerlo en la página de destino con window.name. Ej:
Código PHP:
<a href="pag2.php" target="ENG">ir a PAG 2</a
Y en pág2:
Código PHP:
<head>
<
script type="text/javascript">
window.onload=function(){
alert(window.name);
}
</script>
</head> 
Con la ventaja de que mientras no modifiques el target, este valor de window.name se mantiene constante (algo paracido a las sesiones) entre las diferentes páginas que recorra el visitante.
  #5 (permalink)  
Antiguo 18/07/2008, 07:23
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Respuesta: Capturar el valor de una variable asignada mediante un link con javascript

Cita:
Iniciado por _Maxi Ver Mensaje
Y para usar la variable dentro de un javascript con abrir otro script la variable va a seguir existiendo? o tengo que trabajar todo adentro del php? en el caso que pusiste vos, antes de que cierre el </script>, o puedo cerrar ese y después en otro pedaso de código, quizás fuera de php, utilizarla si quiero?

Gracias por la respuesta.
Hola de nuevo:

Pues sí, la variable miVariable estaría disponible para todo el documento a partir de su declaración. Es decir, puedes seguir escribiendo PHP, HTML... y poner otro bloque de javascript en el momento que quieras que miVariable será variable global y podrás acceder a ella en cualquier lugar (dentro de funciones, fuera...).

Pero insisto, después de haberla declarado, no antes.

Cita:
Iniciado por Panino5001
Otra opción, definir un atributo target en el enlace y recogerlo en la página de destino con window.name.
¡Qué interesante! No se me había ocurrido ese método. Podríamos con ello mantener una variable durante toda una sesion, ¿no es así? ¿Si cambiamos el atributo name de un enlace se abre en otra ventana (con ese nuevo nombre)? Creo que puede dar mucho juego.


Saludos
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #6 (permalink)  
Antiguo 18/07/2008, 07:53
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Capturar el valor de una variable asignada mediante un link con javascript

Si, da mucho juego, aparte lo curioso es que se pueden guardar hasta 32mb en ese espacio ;)
  #7 (permalink)  
Antiguo 18/07/2008, 11:00
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Capturar el valor de una variable asignada mediante un link con javascript

Interesante. Podrías incluso pasar varias variables digamos separadas por un guion (-) y después recuperarías todas. Ademas, si puedes almacenar hasta 32 MB no hay problema en pasar unas cuantas variables. El único problema es que abre una nueva ventana, pero considerando el beneficio que se le pude sacar, creo que vale la pena. Gracias por el dato panino. Sin duda una solución de lo mas sencilla pero ingeniosa. No cabe duda que como dicen, preguntas difíciles requieren soluciones simples, solo que aveces nos la complicamos tratando de hacer cosas espectaculares.
Saludos.
__________________
twitter: @imbuzu
  #8 (permalink)  
Antiguo 18/07/2008, 13:01
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Capturar el valor de una variable asignada mediante un link con javascript

Gracias, buzu. En caso de no querer abrir una nueva ventana, basta con establecer al cargar la página o en otro momento, el valor de window.name. En ese caso, ya no hay que usar target y los datos se guardan igual. Un ejemplo de esto, aquí:
http://www.disegnocentell.com.ar/new...los.php?id=178
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 09:51.