Foros del Web » Programando para Internet » PHP »

Insercion de JavaScript en PHP. NO FUNCIONA

Estas en el tema de Insercion de JavaScript en PHP. NO FUNCIONA en el foro de PHP en Foros del Web. Hola. Estoy creando una BD en la que se muestran imagenes. El script para crear los thums lo tengo y funciona perfectamente. El problema es ...
  #1 (permalink)  
Antiguo 06/09/2004, 03:02
Avatar de sedinho  
Fecha de Ingreso: marzo-2003
Mensajes: 91
Antigüedad: 21 años
Puntos: 0
Insercion de JavaScript en PHP. NO FUNCIONA

Hola. Estoy creando una BD en la que se muestran imagenes. El script para crear los thums lo tengo y funciona perfectamente. El problema es cuando quiero mostrar las imagenes a tamaño real de esos thumbs, ya que se muestran en una ventana nueva ajustada al tamaño real de la imagen.
Esto lo consigo con un script en JavaScript que CARICATOS colgo en el foro de JavaScript.
El problema viene cuando intento que se ejecute la funcion javascript que es llamada desde una linea de codigo generada en php. Este es el codigo:

Código PHP:
<?php
 $mv
'id-324.jpg';
 echo 
"<img src='imagenes/thumbs/tb-id-324.jpg' onClick=\"abrir('imagenes/$mv')\"\>";
?>
Este codigo es una version simplificada del que uso realmente, ya que $mv en el script que uso es una llamada a un campo de la BD donde se almacena el nombre de la imagen, pero para simplificar pongo esto, que ademas tampoco funciona.
Si miro el codigo fuente de la pagina una vez ejecutada en el servidor la linea que devuelve es esta:

Cita:
<img src='imagenes/thumbs/tb-id-324.jpg' onClick="abrir('imagenes/id-324.jpg')"\>
pero al hacer clic en la imagen me dice que "document no es un objeto o es nulo"

Si en vez de escribir el codigo php de antes escribo directamente la ruta de la imagen sin pasarla por variable si que funciona:

Código PHP:
<?php
 
echo "<img src='imagenes/thumbs/tb-id-324.jpg' onClick=\"abrir('imagenes/id-324.jpg')\"\>";
?>
La cuestion es que no se porque de la otra forma no funciona, ya que si miro el codigo fuente de los dos tras ejecutarlo, el resultado es exactamente el mismo, pero como os dije, de la primera forma no va.
Por supuesto la funcion "abrir" de javascript esta bien hecha, porque si la ejecuto fuera de php va de lujo.

Bueno, espero que este problema no sea de dificil solucion porque el script de CARICATOS es justo lo que necesito.

Gracias de antemano.
Un saludo.
  #2 (permalink)  
Antiguo 06/09/2004, 03:20
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,
Cita:
pero al hacer clic en la imagen me dice que "document no es un objeto o es nulo"
Ese es un mensaje de error de Javascript. Asi que el mensaje lo genera el codigo javascript. Puede que el error se genere por el parametro que pasas. Tu dices que es igual el generado por PHP que el que metes a mano, ¿estas seguro que es exactamente igual? ¿Seguro que no tiene espacios en blanco o caracteres invisibles? Prueba a copiar el HTML generado y guardarlo como HTML. Si sigue fallando, es que hay algo que falla al generarlo.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 06/09/2004, 04:21
Avatar de sedinho  
Fecha de Ingreso: marzo-2003
Mensajes: 91
Antigüedad: 21 años
Puntos: 0
He hecho lo que me has dicho y efectivamente el error debe estar al generarse porque si copio el html generado por php falla igualmente.
La cuestion es que el html generado por php de la primera manera y de la segunda, aparentemente son exactamente iguales (ni espacios en blanco, ni caracteres distintos, ni na de na). ¿Que puede ser? ¿Puede ser que se inserte algun caracter especial oculto o algo similar? ¿Deberia usar alguna funcion especial de php para generar la linea de codigo?
Gracias

Última edición por sedinho; 06/09/2004 a las 04:22
  #4 (permalink)  
Antiguo 06/09/2004, 04:59
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Seria mas facil si lo tuviese colgado en internet, para verlo funcionando con tus datos (no sirve probar el codigo que tienes con otros datos).

Puedes probar a usar funciones como trim() (www.php.net/trim) o urlencode() (www.php.net/urlencode), la primera para eliminar espacios al principio y final de la cadena, y la segunda para que los caracteres extraños sean visibles.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 06/09/2004, 05:09
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Buenas....

si el error que te da es document no es un objeto o es nulo quiere decir que no está en esa línea el problema, pues no hace referencia a document.

El error ocurre al hacer click y llamar a la función javascript en donde debe de hacerse la referencia a document.
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:04.