elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  this.id No devuelve nada...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: this.id No devuelve nada...  (Leído 3,550 veces)
sReOn_1R


Desconectado Desconectado

Mensajes: 403



Ver Perfil
this.id No devuelve nada...
« 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
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;
};
?>
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:

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


En línea






sReOn_1r
Franki

Desconectado Desconectado

Mensajes: 46


Ver Perfil WWW
Re: this.id No devuelve nada...
« Respuesta #1 en: 9 Septiembre 2010, 13:34 pm »

Fijate que estas pasando el atributo id del div que has hecho clickable.

Código
  1. onclick='clickalbum(this.id);'

En la función javascript el parametro idclic es el id del div clickado. Luego no puedes hacer esto:

Código
  1. var idclic = this.id;
  2. alert(idclic);
  3. return idclic;
  4.   };

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
  1. alert(idclic);
  2. return true;
  3.   };


En línea

sReOn_1R


Desconectado Desconectado

Mensajes: 403



Ver Perfil
Re: this.id No devuelve nada...
« Respuesta #2 en: 9 Septiembre 2010, 14:16 pm »

Muchisimas Gracias! tienes razon, creía que lo estaba haciendo bien pero no,ya funciona  ;D
En línea






sReOn_1r
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Apple devuelve el dinero a clientes quejosos de Final Cut Pro X
Noticias
wolfbcn 0 1,655 Último mensaje 30 Junio 2011, 01:01 am
por wolfbcn
file_exists() no devuelve nada... « 1 2 »
PHP
|Miguel| 10 5,515 Último mensaje 6 Marzo 2013, 22:20 pm
por kalvinman
Consulta sql no devuelve todos los valores[SOLUCIONADO]
PHP
Daklon 5 4,573 Último mensaje 26 Julio 2013, 17:15 pm
por Daklon
RegSetValueEx devuelve 6 y no hay resultado
Programación C/C++
patilanz 9 3,623 Último mensaje 9 Junio 2014, 00:17 am
por Eternal Idol
Al inyectar mi .dll devuelve error 87.
Análisis y Diseño de Malware
Borito30 3 3,452 Último mensaje 21 Febrero 2017, 20:36 pm
por fary
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines