Título: this.id No devuelve nada... Publicado por: sReOn_1R en 9 Septiembre 2010, 12:50 pm Hola antes de nada os explico que es lo que quiero hacer,quiero hacer una sección en mi web para subir fotos,pero que esten organizadas en albums,entonces quiero que al pulsar en un album (con javascript) mande una variable al servidor por Ajax.. Y quiero mandar el id que se genera en PHP,bueno creo que me estoy liando un poco por eso os pongo mejor el codigo xD:
Citar <?php El problema es que donde está en negrita llamo a una funcion en javascript, para que reconozca cada id de un div (un div por cada album que tenga el usuario de la sesion) pero cuando ejecuta la funcion javascript para que me salga un alert,no consigo hacer que que lo reconozca,solo me sale un alert que me dice "undefined",no lo entiendo porque he definido el id del div.. aqui dejo ahora la funcion javascript:echo " <html> <head> <link rel='stylesheet' type='text/css' href='css/uploadimage.css'> <script language='javascript' src='js/functions.js'></script> </head>"; session_start(); if (isset($_SESSION['idusuario'])) { //Incluimos el fichero de funciones include("functions.php"); //Incluimos el fichero de funciones MySQL include("functions-mysql.php"); //Conectamos con Mysql conexion_consultas(); //Comprobamos que no existe ningun album de este usuario,si es asi,se crea uno por defecto $albums = "SELECT * FROM albums WHERE albums.idusuarios=".$_SESSION['idusuario'].""; $albums = mysql_query($albums,$conexionmysql); $nalbums = mysql_num_rows($albums); echo $nalbums; if ($nalbums == 0) { //Se Crea uno por defecto llamando a la funcion new_album() que se encuentra en functions-mysql.php new_album(); } else { //Mostramos todos los albums while ($row = mysql_fetch_array($albums)) { echo "<div class='divcarpeta'> <div class='carpeta' id='".$row[0]."' onclick='clickalbum(this.id);'> <img src='img/carpeta.jpg' /> </div> <div class='textocarpeta'>".$row[0]." </div> </div>"; }; }; echo $nalbums; }; ?> Citar function clickalbum (idclic) { var idclic = this.id; alert(idclic); return idclic; }; PD: es un poco lioso porque lo he querido hacer tambien con PHP para poder reconocer cada album que tiene cada usuario,pero me parece que lo estoy haciendo bien :S. El tema lo pongo en la sección Web porque creo que es mas problema de javascript que del subforo de PHP Título: Re: this.id No devuelve nada... Publicado por: Franki en 9 Septiembre 2010, 13:34 pm Fijate que estas pasando el atributo id del div que has hecho clickable.
Código
En la función javascript el parametro idclic es el id del div clickado. Luego no puedes hacer esto: Código
Porque primero estas ocultando la variable idclic ya que la vuelves a definir despues con el valor this.id, este valor, el this.id es undefined ya que no puedes acceder de esa forma al objeto que provoca el evento click tal como lo estás haciendo. prueba a borrar esa linea y probar esto y me cuentas: Código
Título: Re: this.id No devuelve nada... Publicado por: sReOn_1R en 9 Septiembre 2010, 14:16 pm Muchisimas Gracias! tienes razon, creía que lo estaba haciendo bien pero no,ya funciona ;D
|