Foros del Web » Programando para Internet » Javascript »

resultado undefined en ventana modal

Estas en el tema de resultado undefined en ventana modal en el foro de Javascript en Foros del Web. Hola comunidad, estoy tratando de pasar un id que lo tomo de una BD a una ventana modal pero el resultado me da undefined. Éste ...
  #1 (permalink)  
Antiguo 06/09/2015, 19:53
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
resultado undefined en ventana modal

Hola comunidad, estoy tratando de pasar un id que lo tomo de una BD a una ventana modal pero el resultado me da undefined.

Éste es el código:
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.     var iddata = document.getElementById('ida').dataset.id;
  3. </script>
Código PHP:
Ver original
  1. while ...
  2. <a id="ida" data-id="<?php echo $row['id']; ?>" data-toggle="modal" href="#myModal">...</a>
  3. ...
  4. fin While
Código HTML:
Ver original
  1. ...
  2. <div class="modal-body">
  3. <script type="text/javascript">
  4.     document.write(iddata);
  5. </script>
  6. </div>
  7. ...

Me pueden guiar un poco respecto al código javascript?.

Muchas gracias!.
  #2 (permalink)  
Antiguo 07/09/2015, 05:43
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: resultado undefined en ventana modal

Prueba con getAttribute:

Código Javascript:
Ver original
  1. var iddata = document.getElementById('ida').getAttribute('data-id');
  #3 (permalink)  
Antiguo 07/09/2015, 09:46
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: resultado undefined en ventana modal

Cita:
Iniciado por PHPeros Ver Mensaje
Prueba con getAttribute:

Código Javascript:
Ver original
  1. var iddata = document.getElementById('ida').getAttribute('data-id');
Muchas gracias por la pronta respuesta pero sigue el mismo error: undefined

Será por el while de php? pero el código fuente muestra bien el tag a:

<a id="ida" data-id="4" data-toggle="modal" href="#myModal">...

Me faltará algo más en javasript para guardar e imprir el contenido del data-id?.

Gracias de nuevo.
  #4 (permalink)  
Antiguo 07/09/2015, 12:46
 
Fecha de Ingreso: abril-2012
Ubicación: murcia
Mensajes: 14
Antigüedad: 12 años
Puntos: 0
Respuesta: resultado undefined en ventana modal

Hola, supongo que no lo estarás haciendo así pero por si acaso te comento, el código javascript que obtiene la id del enlace tiene que ir debajo de este para que puede coger su id.

Te pongo 2 ejemplos..

Esto funciona:
Código HTML:
Ver original
  1. <a id="ida" data-id="100" data-toggle="modal" href="#myModal">...</a>
  2.     var iddata = document.getElementById('ida').getAttribute('data-id');
  3.     alert(iddata);

Esto no funciona:
Código HTML:
Ver original
  1.     var iddata = document.getElementById('ida').getAttribute('data-id');
  2.     alert(iddata);
  3. <a id="ida" data-id="100" data-toggle="modal" href="#myModal">...</a>

Si sigues con el problema por favor deja un poco mas de info para saber donde esta el problema..

Saludos
  #5 (permalink)  
Antiguo 07/09/2015, 15:31
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: resultado undefined en ventana modal

Muchas gracias zeuskx, funcionó! pero el problema ahora surge porque me guarda solamente el primer id del tag <a>, y lo que necesito es obtener el id de cada tag <a> cdo se haga clic no se si me explico.

Tendré que usar un array en javascript? cómo puedo obtener los id de los tags <a> para luego trabajar el link que elige el usuario en la ventana modal?.

Bueno muchas gracias nuevamente por sus tiempos!.
  #6 (permalink)  
Antiguo 07/09/2015, 15:43
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: resultado undefined en ventana modal

En vez de agregar un manejador distinto para cada enlace, puedes incluir todos los enlaces en un contenedor y usar el siguiente código aprovechando el efecto burbuja del evento click y obteniendo el elemento en cuestión mediante target:

Código Javascript:
Ver original
  1. document.getElementById("contenedor").addEventListener("click", function(e){
  2.       if(e.target.href)
  3.           alert(e.target.getAttribute("data-id"));
  4. }, false);

Código HTML:
Ver original
  1. <div id="contenedor">
  2.     <a id="ida1" data-id="uno" data-toggle="modal" href="#myModal">uno</a>
  3.     <a id="ida2" data-id="dos" data-toggle="modal" href="#myModal">dos</a>
  4.     <a id="ida3" data-id="tres" data-toggle="modal" href="#myModal">tres</a>
  5. </div>

Última edición por PHPeros; 08/09/2015 a las 12:22
  #7 (permalink)  
Antiguo 07/09/2015, 16:16
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: resultado undefined en ventana modal

Te pido disculpas por mi ignorancia pero no lo entendí...

Ésta es la manera casera que encontré que funciona pero en la ventana modal siempre me muestra el mismo id para luego poder trabajarlo.
Código PHP:
Ver original
  1. While PHP
  2. <a data-toggle="modal" data-target="#myModal" href="#">...</a>
  3. <script>
  4. var variablejs = "<?php echo $row['id']; ?>" ;
  5. document.write("VariableJS = " + variablejs);
  6. </script>
  7. Fin While PHP

Código HTML:
Ver original
  1. ...
  2. <div class="modal-body">
  3. <script type="text/javascript">
  4. document.write("VariableJS = " + variablejs);
  5. </script>
  6. </div>
  7. ...

Cuando llegue el id a la ventana modal compararlo con la base datos y mostrar los datos de ese id.

Muchas gracias de nuevo.
  #8 (permalink)  
Antiguo 09/09/2015, 16:36
 
Fecha de Ingreso: abril-2012
Ubicación: murcia
Mensajes: 14
Antigüedad: 12 años
Puntos: 0
Respuesta: resultado undefined en ventana modal

Cita:
Iniciado por elsolodigno Ver Mensaje
Muchas gracias zeuskx, funcionó! pero el problema ahora surge porque me guarda solamente el primer id del tag <a>, y lo que necesito es obtener el id de cada tag <a> cdo se haga clic no se si me explico.
Puedes obtener la id de cada enlace pasandolas por parámetro mediante una pequeña función:
Código HTML:
Ver original
  1. <script>  
  2.     function pasar_id(iddata){
  3.         alert(iddata);
  4.     }  
  5.  
  6. <a id="ida" data-id="100" data-toggle="modal" href="#myModal" onclick="pasar_id('100');">Enlace 100</a><br>
  7. <a id="ida" data-id="101" data-toggle="modal" href="#myModal" onclick="pasar_id('101');">Enlace 101</a><br>
  8. <a id="ida" data-id="102" data-toggle="modal" href="#myModal" onclick="pasar_id('102');">Enlace 102</a>

Como estas usando php puedes pasar la id de los enlaces de esta manera:
Código HTML:
Ver original
  1. <script>  
  2.     function pasar_id(iddata){
  3.         alert(iddata);
  4.     }  
  5.  
  6. <a id="ida" data-id="<?php echo $row['id']; ?>" data-toggle="modal" href="#myModal" onclick="pasar_id('<?php echo $row['id']; ?>');">...</a>
  #9 (permalink)  
Antiguo 10/09/2015, 17:04
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: resultado undefined en ventana modal

Muchas gracias funcionó!. Pero ahora no me sale cómo guardar el id para trabajarlo:

Sería algo así?:

Código PHP:
Ver original
  1. $variablephp = "<script>  
  2.    var idresult function pasar_id(iddata){
  3.         document.write(iddata);
  4.    }  
  5. document.write(idresutl);
  6. </script>";
  7. echo "variablephp = $variablephp";

pero me abre otra página... :(

GRacias de nuevo!

Etiquetas: modal, php, resultado, undefined, ventana
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 09:09.