Foros del Web » Programando para Internet » Javascript »

javascript correcto no responde en php

Estas en el tema de javascript correcto no responde en php en el foro de Javascript en Foros del Web. Hola a todos, tengo un código muy sencillo en javascript y html que funciona bien si lo ejecuto desde un fichero htm pero, cuando añado ...
  #1 (permalink)  
Antiguo 30/12/2010, 14:52
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 18 años, 4 meses
Puntos: 1
javascript correcto no responde en php

Hola a todos,

tengo un código muy sencillo en javascript y html que funciona bien si lo ejecuto desde un fichero htm pero, cuando añado el mismo código a mi fichero php, deja de funcionar.
No tengo ni remota idea de qué puede estar pasando. Pego el código:

<head>
<script>
function cambiarImagen(imagen) {
var elemento = document.getElementById("fondo");
elemento.src=imagen;
}
</script>
</head>
<body>
<table width=480px height=640px bgcolor=green>
<tr>
<td>
<img id="fondo"/>
</td>
</tr>
</table>

<a href="javascript:cambiarImagen('c:/Utilidades/img1.jpg')" >nombre articulo 1</a>
<a href="javascript:cambiarImagen('C:/Utilidades/img2.jpg')" >nombre articulo 2</a>

</body>
</html>


Este código, únicamente muestra dos enlaces y un hueco para una imagen. Al pulsar los enlaces aparece una imagen u otra.

¿Por qué si funciona perfectamente en un fichero html, cuando lo pego en un php no funciona?
Al pasar el puntero sobre el enlace, observo que, en la barra inferior del navegador, aparece la función javascript:cambiarImagen con la ruta correcta entre paréntesis, pero al pulsar, no hace absolutamente nada. Ni mensaje de error ni muestra la imagen, nada de nada.

El fichero php es correcto porque el resto de tablas y contenido aparece perfectamente, luego qué hago mal?

Lo he pegado todo al principio, dejando la función javascript dentro del head y nada. Agradecería cualquier ayuda o información.

Este es el código php:

<html>
<head>
<script>
function cambiarImagen(imagen) {
var elemento = document.getElementById("fondo");
elemento.src=imagen;
}
</script>

<title>Suresdata</title>
<link rel="STYLESHEET" type="text/css" href="css/estilos.css">
</head>

<!-- CSS -->
<link rel="stylesheet" href="css/estilos.css" type="text/css" />

<CENTER>
<table width=480px height=640px bgcolor=green>
<tr>
<td>
<img id="fondo"/>
</td>
</tr>
</table>


<a href="javascript:cambiarImagen('c:/Utilidades/img1.jpg')" >nombre articulo 1</a>
<a href="javascript:cambiarImagen('C:/Utilidades/img2.jpg')" >nombre articulo 2</a>

<table width="779px" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td width="779px" height="100px" valign="top">
<? include "logo_top.php";?>
</td>
</tr>
<tr>
<td height="50px" valign="top">
<? include "menu_sup.inc.php"; ?>
</td>
</tr>
<tr>
<td height="50px" valign="top">
<? include "menu_inf.inc.php"; ?>
</td>
</tr>
</table>
</CENTER>
</BODY>
</HTML>
  #2 (permalink)  
Antiguo 30/12/2010, 15:03
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 18 años, 10 meses
Puntos: 79
Respuesta: javascript correcto no responde en php

No se si tengo problemas de comprensión...

Suponiendo que tienes problemas con cargar las imagenes, cuando lo ves como archivo a cuando lo cargas en el servidor por localhost prueba a ocupar rutas relativas y no absolutas

me explico

'C:/Utilidades/img2.jpg' -> absoluta

'../img/img2.jpg' -> relativa

salu2
  #3 (permalink)  
Antiguo 30/12/2010, 15:26
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: javascript correcto no responde en php

Gracias por contestar tan rápido,

he probado a usar rutas relativas y tampoco me carga las imágenes.
Si pillo el código en azul y lo pego en un archivo html, funciona perfectamente, pero si lo pego en el php, (código en verde), pues aunque pulse las imágenes no cambia nada.

Eso sí, en la barra inferior del navegador aparece la ruta de la imagen y es correcta. Además es una ruta muy sencilla. He utilizado una ruta corta para evitar posibles confusiones.

No veo que sea problema de la ruta. Es algo del php que no ejecuta bien la función javascript. Pero el código no es erróneo porque, os animo a probarlo, en un html funciona sin problemas.

Estoy más perdido que un caracol en la playa ;(
  #4 (permalink)  
Antiguo 30/12/2010, 20:47
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 18 años, 10 meses
Puntos: 79
Respuesta: javascript correcto no responde en php

hace esto mejor

genera tus dos archivos, los comprimes en uno solo con winrar,
lo subes a mediafire o cualquier otro, dejas el link, lo descargo y pruebo para ver que pasa, trata de dejar las imagenes que ocupas, por ultimo le arreglo la ruta

si encuentro algun problema, lo arreglo, lo subo y lo pruebas tu, indicando donde
pudiera estar el error, esto aplicable para otro usuario que quiera colaborar.

eso es lo que puedo hacer

salu2
  #5 (permalink)  
Antiguo 31/12/2010, 03:22
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: javascript correcto no responde en php

Gracias Perr0,

no puedo subir los archivos a un servidor porque estoy en el trabajo y no volveré a casa hasta bien tarde. Pero se me ocurre otra forma de probarlo.

Si entras en www.suresdata.es accederás a mi web.
Allí puedes ver el código fuente de la primera página y pegar este código, justo antes del logotipo.

A ver si así, damos con el problema de por qué el mismo código funciona en un archivo html y no en uno php.

<head>

<script>

function cambiarImagen(imagen) {

var elemento = document.getElementById("fondo");
elemento.src=imagen;

}

</script>

</head>

<body>

<table width=480px height=640px bgcolor=green>

<tr>
<td>
<img id="fondo"/>

</td>
</tr>

</table>


<a href="javascript:cambiarImagen('c:/Utilidades/img1.jpg')" >nombre articulo 1</a>

<a href="javascript:cambiarImagen('C:/Utilidades/img2.jpg')" >nombre articulo 2</a>


</body>
</html>


Puedes pillar un par de imágenes cualesquiera y pegarlas en la ruta c:\utilidades\ con los nombres img1.jpg e img2.jpg.

Gracias por la ayuda y un saludo.
  #6 (permalink)  
Antiguo 31/12/2010, 07:11
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 18 años, 10 meses
Puntos: 79
Respuesta: javascript correcto no responde en php

Tarzan, el problema es super simple

has lo siguiente
crea una carpeta con el nombre que quieras, pon tu archivo (htm, php o lo que sea)
luego dentro crea otra carpeta llamada "utilidades"
y cambia es esto

javascript:cambiarImagen('c:/Utilidades/img1.jpg')

por

javascript:cambiarImagen('utilidades/img1.jpg')

presto!!!

para cualquier caso te deje un archivo final

http://www.mediafire.com/?f8pxlbswzx931x1



este tipo de ruta: 'c:/Utilidades/img1.jpg', es una ruta que no existe en un servidor, si tienes tu localhost montado en c.\www por ejemplo, estas fuera de rango, tus archivos deberian estar asi

c:\www\carpeta_pagina
c:\www\carpeta_pagina\index.htm --> tu archivo con el código
c:\www\carpeta_pagina\utilidades\img1.jpg (utilidades/img1.jpg')
c:\www\carpeta_pagina\utilidades\img2.jpg (utilidades/img2.jpg')

salu2
  #7 (permalink)  
Antiguo 02/01/2011, 03:48
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: javascript correcto no responde en php

Muchísimas gracias Perr0!!

Era eso!!
Ahora cambia las imágenes a la perfección.

Un saludo!!

Etiquetas: correcto, php, responde
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:54.