elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
26 Mayo 2012, 16:56  


Tema destacado: Últimos eventos sobre seguridad/inseguridad

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  ¿Como recuperar un dato de varios divs haciendo Click ? - javascript - Jquey
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Como recuperar un dato de varios divs haciendo Click ? - javascript - Jquey  (Leído 1,423 veces)
Lupin

Desconectado Desconectado

Mensajes: 120


¡Amo YaBB SE!


Ver Perfil
¿Como recuperar un dato de varios divs haciendo Click ? - javascript - Jquey
« en: 26 Mayo 2011, 03:01 »

Hola
Tengo varios divs que genero por php y cada uno me arroja un id especifico
¿como puedo recuperar el valor de esa id por javascript?
Quiero recuperar para poder enviarlo por url a otra pagina
 :-[ :-[
Código:
<script src="includes/jquery.js" type="text/javascript"></script>
       
<script type="text/javascript">
            $(document).ready(function (){
                //Aqui asignamos el click al elemento <a>
                $(".delete").click(function (){
 
  var click_element= this;
alert(click_element.nodeName); // QUIERO OBTENER
AQUI EL "id_pagina" DEL DIV  PERO SOLO ME ARROJA EL TIPO DE ELEMENTO!!!!
                });
            });
</script>


    <DIV class="art">
    <A href="<?php print 'empleados.php?hist='.$row["id_pagina"].'#ancla'; ?>"></A>
    <div class="delete" align="center"><b>DELETE</b></div>
   </DIV>
   
   
       <DIV class="art">
    <A href="<?php print 'empleados.php?hist='.$row["id_pagina"].'#ancla'; ?>"></A>
    <div class="delete" align="center"><b>DELETE</b></div>
   </DIV>
   
   
       <DIV class="art">
    <A href="<?php print 'empleados.php?hist='.$row["id_pagina"].'#ancla'; ?>"></A>
    <div class="delete" align="center"><b>DELETE</b></div>
   </DIV>
   .
   .
   .
Con este codigo solo logro recuperar el typo de elemento pero a mi me interesa el  $row["id_pagina"] que contiene un determinado Div al hacer click


En línea
bomba1990


Desconectado Desconectado

Mensajes: 383



Ver Perfil WWW
Re: ¿Como recuperar un dato de varios divs haciendo Click ? - javascript - Jquey
« Respuesta #1 en: 26 Mayo 2011, 03:54 »

si quieres obtener el valor de el atributo href solo tienes que hacer $(this).attr('href'), si quieres extraer el id tienes que hacer un de la url, puede usar esto var id= ruta.substring(ruta.lastIndexOf("="),ruta.length); es decir te quedaria asi:

Código
$(".delete").click(function (){
var id_pagina = $(this).attr('href);
var id = id.substring(id.lastIndexOf("="),id.length);
});

No lo e probado pero te debe funcionar


En línea

"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: ¿Como recuperar un dato de varios divs haciendo Click ? - javascript - Jquey
« Respuesta #2 en: 26 Mayo 2011, 04:05 »

Yo tengo esta pequeña función para obtener un parámetro GET.
Código
function buscarParametroGET( parametros ){
 var expReg    = "[\\?&]"+parametros+"=([^&#38;#]*)";
 var regEx     = new RegExp ( expReg );
 var uRL       = window.location.href;
 var resultado = regEx.exec( uRL );
 if( resultado == null ){
   return "";
 }else{
   return resultado[1];
 }
}
En línea

---
RedZer


Desconectado Desconectado

Mensajes: 654



Ver Perfil
Re: ¿Como recuperar un dato de varios divs haciendo Click ? - javascript - Jquey
« Respuesta #3 en: 26 Mayo 2011, 04:26 »

checate esta liga aver si te sirve de algo
http://foro.elhacker.net/desarrollo_web/pasar_parametros_con_jquery_y_ajax-t327513.0.html
En línea

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
Lupin

Desconectado Desconectado

Mensajes: 120


¡Amo YaBB SE!


Ver Perfil
Re: ¿Como recuperar un dato de varios divs haciendo Click ? - javascript - Jquey
« Respuesta #4 en: 27 Mayo 2011, 00:34 »

Gracias por responder muchachos ,ahora he entendido como hacerlo pero no me funka el codigo lo he arreglado asi  (utilizando los codigos de bomba1990  y modificando la funcion de Shell Root ) :

Quiero recuperar "href" del los div "art" y luego mediante la funcion buscarparametrosGET recuperar un determinado "id_pagina" segun el div donde el usuario haga click y alli mandarlo por URL a la misma pagina pero enviando el metodo GET el "id_pagina" que recupere...
La verdad recien esoy empezando en PHP y no he prestado mucha importancia a javascript pero veo que hay casos en el cual hay que manejar los dos..
Aqui esta mi codigo que no funciona ante los clicks que le mando   :( :(


mipagina.php
Código:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
            $(document).ready(function (){
                //Aqui asignamos el click al elemento <a>
              $(".delete").click(function (){

var id_pagina = $(".art").attr['href'];
location.href="mipagina.php?id="
  + buscarParametroGET( 'id_pagina' , id_pagina) ;
})
 
   });

function buscarParametroGET( parametros , url)
{
var expReg    = "[\\?&]"+parametros+"=([^&#38;#]*)";
var regEx     = new RegExp ( expReg );
var resultado = regEx.exec( url );
if( resultado == null ){
   return "";
}else{
   return resultado[1];
}
}



</script>


<style type="text/css">
<!--
.delete {
height: 300px;
width: 300px;
background-color: #0C0;
}
.art {
background-color: #0f0;
}

-->
</style>
</head>

<body>



<DIV class="art"><A
href="xxx.php?cap=1&id_pagina=78#ancla">
<img alt="" src="images/001.jpg"
border=0><br>
                  </A>
    <div class="delete" align="center"><b>DELETE</b></div>
</DIV>
 
   <br>
   
   
  <DIV class="art"><A
href="xxx.php?cap=1&id_pagina=79#ancla">
<img alt="" src="images/001.jpg"
border=0><br>
                  </A>
    <div class="delete" align="center"><b>DELETE</b></div>
</DIV>

   
 
</body>
</html>
En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: ¿Como recuperar un dato de varios divs haciendo Click ? - javascript - Jquey
« Respuesta #5 en: 27 Mayo 2011, 04:48 »

Pero no entiendo muy bien, a ver. Supongamos que tenemos la siguiente estructura.

Código
<div id = "contenedor">
 <a href = "index.php?token=23fb81d50f1eaf9de847a56a00">
   <img src = "IMG/imgPoC.jpg" >
 </a>
 <div id = "delete">DELETE</div>
</div>

Entonces, lo que quieres es tener el LINK del a href si hace click en la capa DELETE? Quizás te sirva esto,
Código
<html>
 <head>
   <title>PoC</title>
   <script type = "text/javascript" src = "JQuery.js"></script>
 </head>
 <body>
 
 <div class = "art">
     <a id = "link" href = "hola">
       <img alt = "" src = "http://profile.ak.fbcdn.net/hprofile-ak-snc4/186520_100001061925688_4930346_q.jpg" border = 0>
     </a>
   <div class = "delete" align = "center"><b>DELETE</b></div>
 </div>
 
 <script language="javascript">
   $("div.art > div.delete").click( function() {
     var sHREF = $("#link").attr("href");
     alert(sHREF);
   });
 </script>
 
 </body>
</html>
« Última modificación: 27 Mayo 2011, 05:12 por Shell Root » En línea

---
Lupin

Desconectado Desconectado

Mensajes: 120


¡Amo YaBB SE!


Ver Perfil
Re: ¿Como recuperar un dato de varios divs haciendo Click ? - javascript - Jquey
« Respuesta #6 en: 27 Mayo 2011, 20:12 »

Código:
<html>
<head>
<title>PoC</title>

    <script type="text/javascript" src="Saya Willka/includes/jquery.js"></script>

</head>
<body>
 
  <div class = "art">
      <a id = "link" href = "borrar.php?id_pagina=34">
        <img alt = "" src ="oficina.gif" border = 0>
      </a>
    <div class = "delete" align = "center"><b>DELETE</b></div>
  </div>
 
  <script language="javascript">
    $("div.art > div.delete").click( function() {
      var sHREF = $("#link").attr("href");
      alert( "HOLA "+ sHREF);
  alert(buscarParametroGET("id_pagina" , "borrar.php?id_pagina=54"));// SI FUNCIONA !!!!
  alert(buscarParametroGET("id_pagina" , sHREF)); // NO FUNCIONA !!!
 
location.href="destino.php?capt=" + buscarParametroGET("id_pagina" , sHREF);
   
function buscarParametroGET( parametros , url)
{
var expReg    = "[\\?&]"+parametros+"=([^&#38;#]*)";
var regEx     = new RegExp ( expReg );
var resultado = regEx.exec( url );
if( resultado == null ){
   return "";
}else{
   return resultado[1];
}
}
    });

</script>
 
</body>
</html>


En línea
Lupin

Desconectado Desconectado

Mensajes: 120


¡Amo YaBB SE!


Ver Perfil
Re: ¿Como recuperar un dato de varios divs haciendo Click ? - javascript - Jquey
« Respuesta #7 en: 27 Mayo 2011, 20:26 »

Gracias Shell Root
Tus codigos han sido geniales  me han sido de mucha ayuda,  veo que intentar programar una web y pretender querer hacerlo SOLO en php puede llegar a ser muy limitante !!!, bueno por lo menos para mi si.
Pero tengo una duda que no me explico :
1 .Porque el script de codigo de JQuery se coloca casi finalizando el Body, la verdad yo lo cambie de ubicacion encima de los divs y no me funciono.
2. Mi otra pregunta seria porque no funciona esto
Código:
alert(buscarParametroGET("id_pagina" , "borrar.php?id_pagina=54"));// SI FUNCIONA !!!!
  alert(buscarParametroGET("id_pagina" , sHREF)); // NO FUNCIONA !!!
  location.href="destino.php?capt=" + buscarParametroGET("id_pagina" , sHREF);
En realidad lo que necesito es la ultima linea osea una redireccion a otra pagina pero con datos obtenidos del div.
Tu funcion buscarParametroGET me ha dado la idea que necestiaba es recontra util, es mas le he modificado para dos paremetros y si me ha funcionado dentro del jquery pero cuando le paso variables no...
Aqui esta mi codigo completo...jeje lamento la insistencia pero es una joda atascarse en una parte del codigo y no seguir avanzando en el proyecto..
Código:
<html>
<head>
    <title>PoC</title>

    <script type="text/javascript" src="jquery.js"></script>

  </head>
  <body>
 
  <div class = "art">
      <a id = "link" href = "borrar.php?id_pagina=34">
        <img alt = "" src ="oficina.gif" border = 0>
      </a>
    <div class = "delete" align = "center"><b>DELETE</b></div>
  </div>
 
  <script language="javascript">
    $("div.art > div.delete").click( function() {
      var sHREF = $("#link").attr("href");
  alert(buscarParametroGET("id_pagina" , "borrar.php?id_pagina=54"));// SI FUNCIONA !!!!
  alert(buscarParametroGET("id_pagina" , sHREF)); // NO FUNCIONA !!!
  location.href="destino.php?capt=" + buscarParametroGET("id_pagina" , sHREF);
   


function buscarParametroGET( parametros , url)
{
var expReg    = "[\\?&]"+parametros+"=([^&#38;#]*)";
var regEx     = new RegExp ( expReg );
var resultado = regEx.exec( url );
if( resultado == null ){
   return "";
}else{
   return resultado[1];
}
}
    });

  </script>
 
  </body>
</html>

En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: ¿Como recuperar un dato de varios divs haciendo Click ? - javascript - Jquey
« Respuesta #8 en: 27 Mayo 2011, 23:14 »

Debería de funcionar sólo si tienes correcta la variable sHREF, es decir,
Código
  var sHREF = "http://foro.elhacker.net/post.html;topic=328726.0;num_replies=7";
 alert( buscarParametroGET("num_replies", sHREF) );

Así que tienes que hacer que sHREF contenga la URL que quieres.
En línea

---
Lupin

Desconectado Desconectado

Mensajes: 120


¡Amo YaBB SE!


Ver Perfil
Re: ¿Como recuperar un dato de varios divs haciendo Click ? - javascript - Jquey
« Respuesta #9 en: 27 Mayo 2011, 23:23 »

Pero si tengo  sHREF correcto incluso cuando
hice un alert(sHREF) me arroja la url sin problemas

Código:
...
$("div.art > div.delete").click( function() {
      var sHREF = $("#link").attr("href");  // si funciona pero parece que la funcion
buscarParametroGET no lo recibe bien.


....

Creo que optare por esta solucion menos eficiente pero  es lo que tengo a la mano por ahora :
Código:
...var sHREF = $("#link").attr("href");
var strCompleta=new String(sHREF);
var adelante = strCompleta.substring(strCompleta.indexOf("id_pagina")+10, strCompleta.length);
alert (adelante);
...
En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: ¿Como recuperar un dato de varios divs haciendo Click ? - javascript - Jquey
« Respuesta #10 en: 27 Mayo 2011, 23:37 »

Pues no se que no es lo que te funciona,
Código
<html>
 <head>
   <title>PoC</title>
   <script type = "text/javascript" src = "JQuery.js"></script>
   <script language = "javascript">
     function buscarParametroGET( parametros, url){
       var expReg    = "[\\?&]"+parametros+"=([^&#38;#38;#]*)";
       var regEx     = new RegExp ( expReg );
       var resultado = regEx.exec( url );
       if( resultado == null ){
         return "";
       }else{
         return resultado[1];
       }
     }
   </script>
 </head>
 <body>
 
 <div class = "art">
     <a id = "link" href = "http://127.0.0.1/PoC/index.php?token=PoC">
       <img alt = "" src = "http://profile.ak.fbcdn.net/hprofile-ak-snc4/186520_100001061925688_4930346_q.jpg" border = 0>
     </a>
   <div class = "delete" align = "center"><b>DELETE</b></div>
 </div>
 
 <script language="javascript">
   $("div.art > div.delete").click( function() {
     var sHREF = $("#link").attr("href");
     alert(buscarParametroGET("token", sHREF));
   });
 </script>
 
 </body>
</html>
En línea

---
Lupin

Desconectado Desconectado

Mensajes: 120


¡Amo YaBB SE!


Ver Perfil
Re: ¿Como recuperar un dato de varios divs haciendo Click ? - javascript - Jquey
« Respuesta #11 en: 28 Mayo 2011, 19:08 »

 ;D ;D Gracias tu codigo va de maravillas.
Tratando de hacerlo mas general he reemplazado  esto :
 
Código:
 
<script language="javascript">
    $("div.art > div.delete").click( function() {
     var sHREF = $("#link").attr("href");
     alert(buscarParametroGET("token", sHREF));
    });

por esto
Código:
  <script language="javascript">
    $("div.art > div.delete").click( function() {
   var sHREF = $(this).parent().find('#link').attr("href");
  alert(buscarParametroGET("id_pagina",sHREF));
    });
  </script>

El problema es que me funciona en un solo DIV de los varios que el php genera en mi pagina, mas especifico en el segundo DIV. De alli la funcion arroja vacio...tratare de solucionarlo  y lo posteo...eso espero ;D
En línea
Lupin

Desconectado Desconectado

Mensajes: 120


¡Amo YaBB SE!


Ver Perfil
Re: ¿Como recuperar un dato de varios divs haciendo Click ? - javascript - Jquey
« Respuesta #12 en: 31 Mayo 2011, 18:38 »

Gracias Shell Root por tu ayuda...genial !!!
Bueno aun no lo resuelvo pero me quedo con este codigo

(Si funciona)
Código:
<html>
<head>
    <title>PoC</title>
    <script type = "text/javascript" src = "JQuery.js"></script>
    <script language = "javascript">
      function buscarParametroGET( parametros, url){
        var expReg    = "[\\?&]"+parametros+"=([^&#38;#38;#]*)";
        var regEx     = new RegExp ( expReg );
        var resultado = regEx.exec( url );
        if( resultado == null ){
          return "";
        }else{
          return resultado[1];
        }
      }
    </script>
<style type="text/css">
<!--
.art {
height: 50px;
width: 50px;
background-color:#00BFAA;
}
.delete {
height: 50px;
width: 120px;
background-color:#00BFAA;
}
-->
  </style>
  </head>
  <body>
 
  <div class = "art">
      <a id = "link" href = "http://127.0.0.1/PoC/index.php?token=100">
        <img alt = "" src = "http://profile.ak.fbcdn.net/hprofile-ak-snc4/186520_100001061925688_4930346_q.jpg" border = 0>
      </a>
    <div class = "delete" align = "center"><b>DELETE</b></div>
  </div>
 
  <br>
  <div class = "art">
      <a id = "link" href = "http://127.0.0.1/PoC/index.php?token=101">
        <img alt = "" src = "http://profile.ak.fbcdn.net/hprofile-ak-snc4/186520_100001061925688_4930346_q.jpg" border = 0>
      </a>
    <div class = "delete" align = "center"><b>DELETE</b></div>
  </div>
 
  <br>
  <div class = "art">
      <a id = "link" href = "http://127.0.0.1/PoC/index.php?token=102">
        <img alt = "" src = "http://profile.ak.fbcdn.net/hprofile-ak-snc4/186520_100001061925688_4930346_q.jpg" border = 0>
      </a>
    <div class = "delete" align = "center"><b>DELETE</b></div>
  </div>
  <br>
 
  <div class = "art">
      <a id = "link" href = "http://127.0.0.1/PoC/index.php?token=103">
        <img alt = "" src = "http://profile.ak.fbcdn.net/hprofile-ak-snc4/186520_100001061925688_4930346_q.jpg" border = 0>
      </a>
    <div class = "delete" align = "center"><b>DELETE</b></div>
  </div>
 
 
 
 
  <script language="javascript">
    $("div.art > div.delete").click( function() {
  var sHREF = $(this).parent().find('#link').attr("href");
  var strCompleta=new String(sHREF);
  var adelante = strCompleta.substring(strCompleta.indexOf("token")+6, strCompleta.length );
  alert (adelante);


    });
  </script>
 
  </body>
</html>

Voy a ponerme a estudiar mas en serio Jquery..
Espero que a otros le sirva este tema...
Por cierto como hago para postear el codigo de colores ??  ;D ;D
En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: ¿Como recuperar un dato de varios divs haciendo Click ? - javascript - Jquey
« Respuesta #13 en: 31 Mayo 2011, 22:45 »

Con el uso de la etiqueta [code][/code]

Así,
[code=javascript]var sPoc = 1;[/code]

Resultado,
Código
var sPoc = 1;
En línea

---
Lupin

Desconectado Desconectado

Mensajes: 120


¡Amo YaBB SE!


Ver Perfil
Re: ¿Como recuperar un dato de varios divs haciendo Click ? - javascript - Jquey
« Respuesta #14 en: 31 Mayo 2011, 23:42 »

Gracias
Asi sera mas facil hacer entender mis codeX !!!  >:D
Saludos !!
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines