Foros del Web » Programando para Internet » Javascript »

Pasar variables

Estas en el tema de Pasar variables en el foro de Javascript en Foros del Web. Hola a todos y gracias por leerme. Antes de nada qería decir que no tengo claro donde va esta pregunta pero estoy casi seguro que ...
  #1 (permalink)  
Antiguo 01/06/2007, 03:45
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 18 años, 3 meses
Puntos: 12
Pasar variables

Hola a todos y gracias por leerme. Antes de nada qería decir que no tengo claro donde va esta pregunta pero estoy casi seguro que javascript.

Tengo un sql de donde extraigo unos datos: fecha, texto e id. Lo que quiero es enviarlos via javascript a otra ventana que este caso es un popup con imagen. Cuando envío sólo el id no hay problema, éste viene al enviar los otros dos campos:

<a href="javascript:pasarVariables('recibe.htm',%20'v ar1=<? echo $registro["fecha"];?>,var2=<? echo $registro["texto"];?>,var3=<? echo $registro["id"];?>')">Ver foto</a>

Me da error y me dice que se esperaba un ')'

Supongo que es porque son cadenas de texto.

Cómo es la gramática?, he probado millones de combinaciones.

Gracias
  #2 (permalink)  
Antiguo 01/06/2007, 08:14
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Re: Pasar variables

Hola:

Cuando veas el error, mira el código de la página (sin nada php)... es que dependerá del valor de las variables...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 01/06/2007, 10:59
Avatar de netzky  
Fecha de Ingreso: mayo-2007
Mensajes: 56
Antigüedad: 17 años, 7 meses
Puntos: 1
Re: Pasar variables

Codigo Original:

Código PHP:
<a href="javascript:pasarVariables('recibe.htm',%20'v ar1=<? echo $registro["fecha"];?>,var2=<? echo $registro["texto"];?>,var3=<? echo $registro["id"];?>')">Ver foto</a>
Codigo Final:

Código PHP:
<a href="javascript:pasarVariables('recibe.htm','<?php echo $registro["fecha"];?>','<?php echo $registro["texto"];?>','<?php echo $registro["id"];?>');">Ver foto</a>
Motivos:

1ero .- En Javascriptendras que tener una funcion de la siguiente manera:

Código PHP:
var pasarVariables = function(pagina,variable1,variable2,variable3,variable4){


por lo tanto "var=" va DESCARTADO

2do.- Todas las variables TIENEN QUE LLEVAR (" ' "), comillas simples, pues es un valor tipo STRING el que estas enviando..

3.- te recomiendo uses <?php...


Salu2
  #4 (permalink)  
Antiguo 04/06/2007, 01:21
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 18 años, 3 meses
Puntos: 12
Re: Pasar variables

Gracias a los dos por las respuestas. Las variables que envío es una que es un número y dos que son texto. Ej:

var1="24-05-07"; var2="3ª edad de Algaida (1er grupo)"; var3=5;

No sé si las dos primeras darán problemas. Quizá.

Ahora, el fallo gordo está en la función, el script original las pasaba antes de enviar (ver ejemplo), pero no
puedo hacerlo así, porque debo abrir un popup dependiendo del id que se recibe, por lo que si las declaro antes me coge la primera para todos los registros:
<script language="JavaScript">

var1="si pongo aquí los echos de php"
var2="me coge el primer registro de la bse de datos";
var3="y no me sirve";

/* Definimos las variables a utilizar */
/* Creamos la función que pasa las variables mediante la URL */
function pasarVariables(URLconVariables,ListaVariables) {

/* Agregamos el signo ? a la URL */
URLconVariables +="?";

/* Definimos en una variable la lista de variables utilizadas e indicamos
al símbolo , como separador de las mismas */
Variable = ListaVariables.split(",");

/* Comenzamos a escribir las variables con sus valores en la URL */
for (i=0; i<Variable.length; i++) {

/* Se ejecuta para todas las variables menos la última */
if (i!=Variable.length-1) {
URLconVariables += Variable[i] + "=" + escape(eval(Variable[i]))+"&"
}

/* Se ejecuta solo para la última variable */
else {
URLconVariables += Variable[i] + "=" + escape(eval(Variable[i]))
}
}

/* Cargamos la URL con las variables */
window.open(URLconVariables,"Foto","width=446, height=336, scrollbars=no, menubar=no, location=no, resizable=no") ;
}
</script>


Al quitar las variables de arriba intenté ponerlas directas en el enlace con el resultado que os he contado.

Si la función fuera como dice netzky tampoco habría problemas, pero no tengo la capacidad técnica en javascript para cambiar la que tengo y que funcione.

En fin, vaya marronazo. Yo sigo probando cosas y funciones alternativas.

Gracias a los dos.
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 18:55.