Foros del Web » Programando para Internet » Javascript »

Pasar variable con function

Estas en el tema de Pasar variable con function en el foro de Javascript en Foros del Web. Buenos días, estoy empezando con Javascript y se me presenta el siguiente problema: Cojo una variable $usuario ( en PHP ) que la obtengo de ...
  #1 (permalink)  
Antiguo 12/08/2010, 01:19
 
Fecha de Ingreso: enero-2010
Mensajes: 26
Antigüedad: 14 años, 3 meses
Puntos: 0
Pasar variable con function

Buenos días, estoy empezando con Javascript y se me presenta el siguiente problema:

Cojo una variable $usuario ( en PHP ) que la obtengo de una base de datos.

La envío con el evento onclick="datos(<?php echo $usuario; ?>)" a la página .js

En la página .js pongo lo siguiente para enviarla a otra página php de forma asíncrona:

function enviar(usuario){
var t1;


t1 = usuario;


ajax=nuevoAjax();
ajax.open("POST", "gustos.php",true);
ajax.onreadystatechange=function() {

}
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("t1="+t1)
}

En la página gustos.php recojo el valor de la siguiente forma:

$usuario=$_POST['t1'];

....y llega la variable con valor 'undefine'...¿ Me podéis ayudar y decirme dónde fallo ?


Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 12/08/2010, 01:26
 
Fecha de Ingreso: agosto-2010
Ubicación: Madrid
Mensajes: 53
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Pasar variable con function

Tienes que poner comillas simples en la sentencia de php : datos('<?php echo $usuario; ?>')"
  #3 (permalink)  
Antiguo 12/08/2010, 01:37
 
Fecha de Ingreso: enero-2010
Mensajes: 26
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Pasar variable con function

Gashe, gracias por contestar. Lo he probado y sigue dando el mismo resultado.
  #4 (permalink)  
Antiguo 12/08/2010, 01:43
 
Fecha de Ingreso: agosto-2010
Ubicación: Madrid
Mensajes: 53
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Pasar variable con function

Como es la funcion datos? has comprobado que llegue el valor a la funcion enviar? con un alert o algo que te muestre que recoge los datos antes de mandarlo.
  #5 (permalink)  
Antiguo 12/08/2010, 01:58
 
Fecha de Ingreso: enero-2010
Mensajes: 26
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Pasar variable con function

Perdona Gashe, código de ejmeplo que te puse antes estaba mal. La función enviar no existe... me refería a la funcion datos. Quedaría así:
function datos(usuario){
var t1;


t1 = usuario;


ajax=nuevoAjax();
ajax.open("POST", "gustos.php",true);
ajax.onreadystatechange=function() {

}
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("t1="+t1)
}

He puesto los alert y no llega nada a la función. Me sale el mensaje 'undefine'. Sin embargo si la variable es un número (int) sí que llega. El error lo da con cadenas.
  #6 (permalink)  
Antiguo 12/08/2010, 02:14
 
Fecha de Ingreso: agosto-2010
Ubicación: Madrid
Mensajes: 53
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Pasar variable con function

Si lo estas probando SIN ponerle aun las comillas simples que te dije onclick="datos('<?php echo $usuario; ?>')", te aceptará los números, pero las cadenas no, por eso lo de las comillas simples ..
Si estan puestas, deberia pasar la cadena a la funcion, porque no hay mas paso que el evento Onclick.
Tambien comprueba que el dato que recoges de la base de datos te llegue! Quizas estes fallando en la consulta a la base de datos, o en la forma de llamarlo .. :S
  #7 (permalink)  
Antiguo 12/08/2010, 02:40
 
Fecha de Ingreso: enero-2010
Mensajes: 26
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Pasar variable con function

Gashe, ya llega la variable usuario, pero si ahora en la función datos quiero enviar dos variables más solo me llega usuario, las otras dos no llegan.

Lo hago de l sigueinte forma:

onclick="datos('<?php echo $usuario; $int; $gustos; ?>'")

En la página .js las recojo así:

function datos(usuario,int,gustos)

Ahora solo me llega al alert usuario...las otras dos no.
  #8 (permalink)  
Antiguo 12/08/2010, 02:43
 
Fecha de Ingreso: agosto-2010
Ubicación: Madrid
Mensajes: 53
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Pasar variable con function

Esa sentencia no esta bien Clico, tienes que especificar cada variable que le metes por separado, y en php tmpoco te lo mostraria, te daria un fallo, seria asi:

onclick="datos('<?=$usuario?>',<?=$int?>','<?=$gus tos?>' )"
  #9 (permalink)  
Antiguo 12/08/2010, 03:01
 
Fecha de Ingreso: enero-2010
Mensajes: 26
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Pasar variable con function

Gashe...UN MILLÓN DE GRACIAS....

SOLUCIONADO !!!!!!

Etiquetas: function, pasar, 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 23:00.