Foros del Web » Programando para Internet » PHP »

Pasar variable de PHP a Javascript

Estas en el tema de Pasar variable de PHP a Javascript en el foro de PHP en Foros del Web. Buenas tardes: Soy nuevo en esto de javascript. Me gustaria poder pasar a un codigo de javascript una variable php que recojo por $_POST. La ...
  #1 (permalink)  
Antiguo 18/10/2011, 11:09
 
Fecha de Ingreso: octubre-2011
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 1
Pasar variable de PHP a Javascript

Buenas tardes:

Soy nuevo en esto de javascript. Me gustaria poder pasar a un codigo de javascript una variable php que recojo por $_POST.

La razon es para cuando pulso un enlace del menu , me abra en la zona central el contenido y el enlace del menu se quede marcado con el estilo que le dado.

Alguien puede ayudarme

Gracias
  #2 (permalink)  
Antiguo 18/10/2011, 11:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Pasar variable de PHP a Javascript

Es sencillo, solo es cuestión de que imprimas el Javascript correcto:
Código PHP:
Ver original
  1. <?php
  2. $var = "foo";
  3. ?>
  4. var foo = '<?php echo $var; ?>';

Saludos.
  #3 (permalink)  
Antiguo 18/10/2011, 11:24
 
Fecha de Ingreso: octubre-2011
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Pasar variable de PHP a Javascript

he probado con eso y no me funciona.

No me resuelve el valor del codigo php, lo interperta como una cadena. En el alert sale tal cual lo paso a la variable

Este es mi codigo. Algun error???

<?php
$cadena=key($_POST['boton']);

?>


window.onload=function(){
var boton = '<?php echo $cadena; ?>';
var nombre_boton = "boton[" + boton + "]";
alert(nombre_boton);
var lista=document.getElementById("sb_menu").childNode s;
var size = lista.lenght;
for(var i=1;i<size;i+=2){
if (lista[i].firstChild.name == nombre_boton){
lista[i].setAttribute('class','active');
break;
}
}
}
  #4 (permalink)  
Antiguo 18/10/2011, 11:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Pasar variable de PHP a Javascript

¿Sabes lo que hace la función key?
  #5 (permalink)  
Antiguo 18/10/2011, 11:48
 
Fecha de Ingreso: octubre-2011
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Pasar variable de PHP a Javascript

Tenemos en html un boton del tipo:
<button type="submit" name="boton[xxxx]">xxx</button>

Al pulsarlo, mandamos por $_POST el siguiente array:

Array ( [boton] => Array ( [xxxx] => ) )

con la funcion key extraemos el valor xxxx. y asi despues mediante un bucle switch-case comparamos en valor para cargar una pagina u otra.
  #6 (permalink)  
Antiguo 18/10/2011, 12:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Pasar variable de PHP a Javascript

¿Entonces cual es el problema? Tu código JS se ve correcto, ¿el alert que te muestra?
  #7 (permalink)  
Antiguo 18/10/2011, 12:09
 
Fecha de Ingreso: octubre-2011
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Pasar variable de PHP a Javascript

"boton[" + <?php echo $cadena; ?>+ "]";
  #8 (permalink)  
Antiguo 18/10/2011, 12:10
 
Fecha de Ingreso: octubre-2011
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Pasar variable de PHP a Javascript

Esto es lo que muestra el alert:

boton[<?php echo $cadena; ?>]

El problema es que no resuelve el codigo php de dentro de los corchetes y despues al hacer la compararcion if (lista[i].firstChild.name == nombre_boton) siempre da false
  #9 (permalink)  
Antiguo 18/10/2011, 12:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Pasar variable de PHP a Javascript

Es muy raro, ¿Tienes instalado PHP en tu servidor?, ¿tienes ese código en un archivo PHP?
  #10 (permalink)  
Antiguo 18/10/2011, 12:20
 
Fecha de Ingreso: octubre-2011
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Pasar variable de PHP a Javascript

PHP si que lo tengo instalado, estoy utilizando wamp server

A que código te refieres????
  #11 (permalink)  
Antiguo 18/10/2011, 12:33
 
Fecha de Ingreso: octubre-2011
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Pasar variable de PHP a Javascript

Ya he conseguido resolverlo. He creado un input oculto en la plantilla donde guardo el valor del boton pulsado y con JS recupero el valor desde la plantilla. Asi me funciona.

La duda que sigo teniendo, es el porque no me funciona de la otra forma.
  #12 (permalink)  
Antiguo 18/10/2011, 12:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Pasar variable de PHP a Javascript

El código que expones lo tienes en un archivo .php, o en un archivo .js, ya que recuerda que para que PHP procese el archivo este debe de estar en un archivo .php.

Mi duda va a que la cadena se queda sin evaluar el contenido y eso indica que el intérprete de PHP no esta ejecutando el script.
  #13 (permalink)  
Antiguo 18/10/2011, 12:42
 
Fecha de Ingreso: octubre-2011
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Pasar variable de PHP a Javascript

El código JS esta en un archivo .js, el código PHP esta en un archivo .php

El archivo JS lo incluyo en la plantilla html con la siguiente linea
<script src="js/menu.js" type="text/javascript"></script>

Lo que te refieres tu es que este todo en un archivo .php? Tanto el php como el JS?
  #14 (permalink)  
Antiguo 18/10/2011, 12:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Pasar variable de PHP a Javascript

Ah, es por eso, si tu código que pusiste (var boton = '<?php echo $cadena; ?>';) esta en un archivo .js, este no se va a ejecutar, como te digo, para que PHP se ejecute el archivo debe de terminar en .php.

Los archivos .js por si solos no se evaluan a menos que agregaras el handler en el Apache para que también invoque esos archivos por el interprete de PHP.
  #15 (permalink)  
Antiguo 18/10/2011, 12:53
 
Fecha de Ingreso: octubre-2011
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Pasar variable de PHP a Javascript

Vale pues ya me queda claro el porque no funcionaba.

Muchas gracias por la ayuda prestada.

Etiquetas: javascript, 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 00:30.