Foros del Web » Programando para Internet » PHP »

problemas al mezclar php con javascript

Estas en el tema de problemas al mezclar php con javascript en el foro de PHP en Foros del Web. Hola a todos. Mi duda es la siguiente: ¿Como se puede concatenar php y javascript, porque cuando hago lo siguiente: window.open("http://localhost/web8/mover_tarea.php?IdTarea="+<?echo $id;?>,"mover_tarea") ESE SIGNO + ...
  #1 (permalink)  
Antiguo 20/04/2004, 06:58
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 13 años, 9 meses
Puntos: 5
Sonrisa problemas al mezclar php con javascript

Hola a todos. Mi duda es la siguiente:

¿Como se puede concatenar php y javascript, porque cuando hago lo siguiente:

window.open("http://localhost/web8/mover_tarea.php?IdTarea="+<?echo $id;?>,"mover_tarea")

ESE SIGNO + que dicen que es para concatenar en javascript me genera errores?

Quiero insertar la variable php $id en la sentencia window.open de javascript pero ese signo "+" me genera errores y al ver la compilacion ese + aparece como resultado, y lo unico que tendria que hacer es concatenarme la variable con el resto de la linea.

Un saludo.
  #2 (permalink)  
Antiguo 20/04/2004, 07:02
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

Esa linea esta fuera de contexto. Puede que el error no sea de esa linea.

De todas formas, no necesitas realizar la concatenacion en javascript, puedes crear la cadena en PHP:
Código PHP:
window.open("http://localhost/web8/mover_tarea.php?IdTarea=<?php echo $id;?>","mover_tarea")
Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 20/04/2004, 07:15
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 13 años, 9 meses
Puntos: 5
Gracias por responderme josemi. He echo lo que me has dicho y no me sale ya el error. El problema es que de esta manera la variable IdTarea que le llega a la pagina destino esta vacia y antes si le llegaba con el valor adecuado aunque me producia el error que ya comente antes.

De la forma que me dices no sale error pero es como si no concatenara el valor de la variable php $id con el resto de la cadena javascript.

Un saludo y gracias por responderme antes.
  #4 (permalink)  
Antiguo 20/04/2004, 07:21
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Entonces el problema es que $id esta vacio.

De todas formas, te repito que sin ver el codigo mas completo es dificil saber que es lo que puede fallar. Puede ser desde un lio de comillas hasta un ; mal puesto.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 20/04/2004, 08:50
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 13 años, 9 meses
Puntos: 5
Gracias por reponder de nuevo. Me comentas que el problema puede estar en que $id este vacio, pero te he comentado anteriormente que si pongo:

window.open("http://localhost/web8/mover_tarea.php?IdTarea="+<?echo $id;?>,"mover_tarea")

me llega el $id bien y NO ES NULO.

Si hago lo que tu me dijistes:

window.open("http://localhost/web8/mover_tarea.php?IdTarea=<?php echo $id;?>","mover_tarea")

Entoces la variable que me llega a mover_tarea.php SI ES NULA.

EN conclusion:

Sabrias como se podría poner como una sentencia de php, es decir:

echo "window.open(................)"

ES QUE ME HAGO UN LIO CON LAS COMILLLAS al mezclar sentencias javascript con variables php. A lo mejor de esta otra manera si sale.

Un saludo.
  #6 (permalink)  
Antiguo 20/04/2004, 08:56
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
¿Pero exactamente que codigo estas poniendo ahora? ¿Usas echo "window.open(....)"?

De todas formas, mira el codigo HTML generado con ambos codigos en el navegador.

Si pones el window.open fuera de PHP no debes preocuparte de las comillas.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 20/04/2004, 09:14
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 13 años, 9 meses
Puntos: 5
Hola de nuevo. A lo mejor no me he explicado bien. Lo que te digo es que como no me salía poniendo:
<script>
window.open(............)
</script>

A lo mejor una posible solucion seria poner:

echo "window.open(....)"

Lo que pasa es que entonces tenía un lio de comillas. No se bien como debo meter en esa sentencia echo la variable php para que realmente le este pasando su valor.
  #8 (permalink)  
Antiguo 20/04/2004, 09:17
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Sigue usando el
<script>
...
</script>

Y por lo que te he leido en javascript, con el + tenias el mismo problema: el $id estaba vacio. Y como en javascript la sintaxis es algo+algo, entonces solo algo+ es error de sintaxis.

Antes de ese codigo haz un echo $id para ver si se ve el valor.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #9 (permalink)  
Antiguo 20/04/2004, 11:26
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 13 años, 9 meses
Puntos: 5
Ya he encontrado la solucion. Es la siguiente:

echo "<script language=javascript>";
echo "window.open('http://localhost/web8/mover_tarea.php?IdTarea=$id','mover_tarea')";
echo "</script>";

Lo que hice fue meter las sentencias javascript dentro de la funcion "echo" de php y ya me funciona.

Gracias por ayudarme y hasta otra.
Saludos
  #10 (permalink)  
Antiguo 20/04/2004, 12:12
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 13 años, 9 meses
Puntos: 4
<?php
echo "<script language=javascript>";
echo "window.open('http://localhost/web8/mover_tarea.php?IdTarea=$id','mover_tarea')";
echo "</script>";
?>

se puede transformar en esto:

<script language=javascript>
window.open('http://localhost/web8/mover_tarea.php?IdTarea=<? echo $id ?>','mover_tarea')
</script>

Deberias prestar atencion a los tahgs <?php y ?>. Tal vez podria haber sido este tu problema.

De todas formas, el servidor una vez que genera el codigo html deberia ser el mismo para ambos casos.
__________________
| Cabeza De Raton |

Última edición por Calisco; 20/04/2004 a las 12:14
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 08:15.