Foros del Web » Programando para Internet » Javascript »

Concatenar javascript y php

Estas en el tema de Concatenar javascript y php en el foro de Javascript en Foros del Web. Buen dia Tengo una duda Cree un array en php que se llama $datos, el cual luego llamo en javascript de la siguiente manera: a ...
  #1 (permalink)  
Antiguo 09/02/2007, 09:41
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Concatenar javascript y php

Buen dia

Tengo una duda

Cree un array en php que se llama $datos, el cual luego llamo en javascript de la siguiente manera:

a = "<?=$datos[b]?>", donde a y b son variables javascript, b tiene el valor 1, pero no se bien como concatenarlas.

si hago esto: a = "<?$datos[1]?>" y luego lanzo esto: alert(a), me muestra correctamente el valor del elemento del array, he buscado como concatenar, vi que algunos hacen esto: <?=$datos[+b+]?> pero ya lo intente y no me da resultado, les agradezco si alguno sabe como se soluciona esto, gracias.
  #2 (permalink)  
Antiguo 09/02/2007, 09:46
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Concatenar javascript y php

concatenar a con $datos[b] ????

a += "<?=$datos[b]?>"


Saludos.
  #3 (permalink)  
Antiguo 09/02/2007, 09:53
Avatar de Angel K ido  
Fecha de Ingreso: febrero-2007
Mensajes: 48
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Concatenar javascript y php

Es que cuando colocas esto no debes olvidarte que primero se procesa el script del lado del servidor <?=$datos[b]?> por lo que la variable b todavía no está disponible por estár definida en el lado del cliente.
Conclusión: No se pueden usar variables de JavaScript en el lado del servidor a no ser que las mandes en $_POST o $_GET en la página anterior.-

Saludos.-

Última edición por Angel K ido; 09/02/2007 a las 09:58
  #4 (permalink)  
Antiguo 09/02/2007, 10:36
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: Concatenar javascript y php

Hola
Bueno, wiggly, creo que no fui claro, mi problema es b no a

a += "<?=$datos[b]?>"


ya que como habia comentado si hago a = "<?$datos[1]?>" lo imprime bien, el problema es la variable b que tambien es javascript,y trate con +b+ pero no funciona, gracias

angel, el b precisamente es un parametro de una funcion de javascript que toma valor cuando yo pulso sobre un boton y eso es lo que no puedo concatenar, asi, cuando yo doy click en el boton de name b y value 1, al llegar a la funcion hago el alert de b.value y en efecto lleva el valor 1, el problema esta en saber concatenar bien javascript y ph, gracias
  #5 (permalink)  
Antiguo 11/02/2007, 08:43
Avatar de Angel K ido  
Fecha de Ingreso: febrero-2007
Mensajes: 48
Antigüedad: 17 años, 2 meses
Puntos: 0
Pregunta Re: Concatenar javascript y php

Así:

a = "<?echo $datos[".b."]?>"

Bueno, no se como estés pasando el valor de b pero seguramente no sea como pienso.

Podés pasarla en $_POST
<?b=$_POST["b"]?>
a = "<?echo $datos[".b."]?>"

o en $_GET
<?b=$_GET["b"]?>
a = "<?echo $datos[".b."]?>"

Saludos
  #6 (permalink)  
Antiguo 12/02/2007, 08:36
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: Concatenar javascript y php

<?
for($i=1;$i<3;$i++)
{
$datos[$i] ="Nombre$i";
}
?>

<script>
function a(obj)
{
b = obj.value

<? $b = "b";?>
alert(b)
alert(<?=$b?>)

c = "<?=$datos[1]?>"

alert(c);

}

</script>


<form>
<input type="submit" name="boton" value="2" id="3" onclick="a(boton)">
</form>

Que me ocurre??
Bueno, pues cuando yo doy click en el boton, el va a la funcion a, mandando el objeto, y alla la variable es recibida tanto por una variable javascript llamada b como por una variable php llamada $b, y cuando imprimo ambas, las 2 tienen el mismo valor, es decir, hasta ahi funciona todo bien.

Ahora, hago un alert para mostrar el elemento del array, en este momento funciona porque esta estatico (<?=$datos[1]?>) dando como resultado Nombre1, y lo que yo quiero hacer es que no siempre sea uno, sino que imprima el elemento que corresponda al valor de la variable b o $b, que en este caso seria 2, y el cual llega correctamente a javascript, ya probe el metodo de concatenacion de angel y no me funciona, probe con el signo + y tampoco, lo que se me hace extraño es que con variables simples funcione, sera que hay alguna restricción con los arrays?????? bueno, agradezco la colaboracion y pues espero que demos con el chiste.
  #7 (permalink)  
Antiguo 12/02/2007, 16:54
Avatar de Angel K ido  
Fecha de Ingreso: febrero-2007
Mensajes: 48
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Concatenar javascript y php

Anteriormente te he dicho que:
Cita:
Conclusión: No se pueden usar variables de JavaScript en el lado del servidor a no ser que las mandes en $_POST o $_GET en la página anterior.-
$datos[] Solo existe en el lado del servidor y no podes acceder a el en el lado del cliente cuando todo lo que estaba dentro de las etiquetas <?php y ?> ya ha sido procesado.-
Si no me crees, abre la página y una ves abierta fíjate su código fuente ("Ctrl + U" en firefox, "ver" -> "Codigo fuente" en IE)
  #8 (permalink)  
Antiguo 13/02/2007, 08:14
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: Concatenar javascript y php

Hola

Bueno, entiendo lo que me dices, pero entonces porque las demas variables funcionan sin problema?

es decir, la variable b captura el valor del submit boton, y luego creo una variable php llamada $b que captura a su vez el valor de b y pongo a imprimir ambas, y ambas muestran el valor 1, que es correcto.
Tambien pongo a imprimir el array $datos con una posicion fija, y funciona correcto en la funcion javascript, entonces porque no puedo concatenar javascript con php para no hacer estatica la posicion del array? bueno, perdon la insistencia, pero es que si me funciona con valor fijo porque no puedo concatenarlo! y nisiquiera con $b! bueno, gracias de todas formas.
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 15:22.