Foros del Web » Programando para Internet » Javascript »

Mostrar información en ventana modal

Estas en el tema de Mostrar información en ventana modal en el foro de Javascript en Foros del Web. Hola Tengo un formulario llamado ingreso, que tiene un solo campo, Cédula. La idea es que el usuario ingresa la ce dula y en base ...
  #1 (permalink)  
Antiguo 22/11/2012, 10:41
Avatar de ik_fenix  
Fecha de Ingreso: octubre-2012
Ubicación: Medellin-Colombia
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Mostrar información en ventana modal

Hola
Tengo un formulario llamado ingreso, que tiene un solo campo, Cédula.
La idea es que el usuario ingresa la ce dula y en base de datos se guarda la hora de ingreso para esa fecha de ses usuario.
Lo que requiero es mostrar a la persona que se ingreso, la foto, nombre, apellido, cédula y horario en el que esta registrado.
Inicialmente pensaba mostrar esto en una ventana modal ya que estoy trabajando con bootstrap, pero como primero debo hacer una consulta a base de datos para ver si la cedula ingresada esta registrada y si el horario en que ingreso si es en el que esta registrado debo mandar la ventana modal desde el control una vez haya pasado por las validaciones.
imprimo la ventana modal con un echo pero como es de class="modal" y no class="modal hide fade", después de abrirla no me permite cerrarla...
Mi pregunta puntual es ¿Hay alguna forma de pintar bonita la información de usuario que acaba de ingresar a la empresa? Ya que me parece feisimo en un alert y el alert de bootstra se queda en la parte superior o puedo cerrar mi ventana modal aunque sea de class="modal" .
Vaaaa agradezco mucho a las personas que se tomen el tiempo de leer es párrafo tan tedioso y a los que me puedan ayudar :*

Última edición por ik_fenix; 22/11/2012 a las 11:12
  #2 (permalink)  
Antiguo 22/11/2012, 12:02
Avatar de Javier01  
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 1 mes
Puntos: 31
Respuesta: Mostrar información en ventana modal

No conozco bootstrap, supongo que es algo para que se vea mas lindo, pero ¿No podrías hacerlo incluyendo ajax?
Sería algo como tener el modal, cuando se ingresan la cedula, pedir los datos, incluirlos en el modal, y mostrarlos.
__________________
Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta.
  #3 (permalink)  
Antiguo 22/11/2012, 12:34
Avatar de ik_fenix  
Fecha de Ingreso: octubre-2012
Ubicación: Medellin-Colombia
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Mostrar información en ventana modal

Cita:
Iniciado por Javier01 Ver Mensaje
No conozco bootstrap, supongo que es algo para que se vea mas lindo, pero ¿No podrías hacerlo incluyendo ajax?
Sería algo como tener el modal, cuando se ingresan la cedula, pedir los datos, incluirlos en el modal, y mostrarlos.
Siii eso, la cosa es que no se como llamar la modal desde código php.
  #4 (permalink)  
Antiguo 22/11/2012, 14:49
Avatar de Javier01  
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 1 mes
Puntos: 31
Respuesta: Mostrar información en ventana modal

La idea que te propongo es, que al hacer clic en el botón “validar cedula”, en vez de cargar nuevamente la página,
Ejecute un javascript (ajax) que envíe esa cedula a un php; ese php valide esa cedula, y retorne los datos de la persona,
Desde el lado del javascript, obtienes los datos, los cargas con javascript en el modal, y lo muestras al usuario.
En caso de que el php no valide la cedula, no devolverías nada, y el javascript no cargaría el modal, simplemente mostraría un mensaje de error.
No se si puede hacer todo esto usando bootstrap, en caso de que si, y precises ayuda mas detallada para hacerlo, nos consultas.
__________________
Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta.
  #5 (permalink)  
Antiguo 22/11/2012, 14:58
Avatar de ik_fenix  
Fecha de Ingreso: octubre-2012
Ubicación: Medellin-Colombia
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Mostrar información en ventana modal

o.O
Hay Dios
Oye muchísimas gracias :$ Peor la verdad no creo que pueda hacer eso :(
  #6 (permalink)  
Antiguo 22/11/2012, 15:21
Avatar de Javier01  
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 1 mes
Puntos: 31
Respuesta: Mostrar información en ventana modal

Pero no puedes porque el sistema no lo permite o porque no sabes hacerlo?
Creo que usar ajax suena más complicado de lo que es (o no explico demasiado bien).
Y si no se puede de esa forma, podrias postear el codigo que tienes, que seguramente se encuentre alguna forma de hacerlo.

Saludos!
__________________
Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta.
  #7 (permalink)  
Antiguo 22/11/2012, 15:49
Avatar de ik_fenix  
Fecha de Ingreso: octubre-2012
Ubicación: Medellin-Colombia
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Mostrar información en ventana modal

Porque lo que planeo es imprimir la ventana modal desde el control para que haga todo el recorrido de validaciones sin ningún problema:$, ya que son varias validaciones y tambien mas de dos ventanas modales :$ pero lo que necesito ahora es saber como cerrarla :$ porque después de hacer una serie de consultas imprimo la ventana modal, pero ya después no cierra.

public function crearregistro()
{
$sql = "SELECT Cedula
FROM tbl_empleado
WHERE Cedula=".$this->_emp;
$query = $this->_db->query($sql);
$row = mysql_fetch_array($query);
if($row!=NULL){

$sql = "SELECT Cedula,Nombre,Apellido,Foto
FROM tbl_empleado
WHERE Cedula = ".$this->_emp;
$query = $this->_db->query($sql);
$row = mysql_fetch_array($query);
$cedula = $row['Cedula'];
$nombre = $row['Nombre'];
$apellido = $row['Apellido'];
$foto = $row['Foto'];
?>
<input type="hidden" id="cedula" value="<?php echo $cedula;?>" />
<input type="hidden" id="nombre" value="<?php echo $nombre;?>" />
<input type="hidden" id="apellido" value="<?php echo $apellido;?>" />
<input type="hidden" id="foto" value="<?php echo $foto;?>" />
<script> alert("Se ingreso correctamente a "+document.getElementById('nombre').value+" "+document.getElementById('apellido').value+" Con cedula "+document.getElementById('cedula').value+" Con foto "+<img src="fotos/'.$valor['foto'].'" widht="50" height="50" >;</script>
<?php


echo '<div class="container">
<div class="modal">
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3>Empleado</h3>
</div>
<div class="modal-body">
<h4>Se ingreso correctamente a </h4>
<p>You can add some text here.</p>
</div>
<div class="modal-footer">
<a href="#" class="btn" data-dismiss="mymodal">Close</a>
</div>
</div> ';
...
}
  #8 (permalink)  
Antiguo 23/11/2012, 07:49
Avatar de Javier01  
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 1 mes
Puntos: 31
Respuesta: Mostrar información en ventana modal

Por lo que estuve viendo de bootstrap, primero, para activar un modal cuando se cargue la página es simplemente colocando bajo el HTML del modal
Código Javascript:
Ver original
  1. $('#MyModal').modal({
  2.   show: true
  3. })

O sea que usando el codigo de ejemplo de la pagina bootstrap quedaría:
Código HTML:
Ver original
  1. <div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  2.   <div class="modal-header">
  3.     <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  4.     <h3 id="myModalLabel">Modal header</h3>
  5.   </div>
  6.   <div class="modal-body">
  7.     <p>One fine body…</p>
  8.   </div>
  9.   <div class="modal-footer">
  10.     <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
  11.     <button class="btn btn-primary">Save changes</button>
  12.   </div>
  13. </div>
  14. <script language="javascript">
  15. $('#MyModal').modal({
  16.   show: true
  17. })

Luego, para ocultar un modal activo, simplemente debes ejecutar el script
Código Javascript:
Ver original
  1. <script language="javascript">
  2. $('#myModal').modal('hide');
  3. </script>


Ahora, si te interesa hacerlo con ajax, que tal vez te facilite algunas cosas seria asi:
Una pagina HTML que se mostraría al usuario con el formulario:
formulario.html
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2.   <head>
  3.     <title>Cedula</title>
  4.     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
  5.     <!-- Bootstrap -->
  6.     <link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
  7.    
  8.     <script src="http://code.jquery.com/jquery-latest.js"></script>
  9.     <script src="js/bootstrap.min.js"></script>
  10.   </head>
  11.   <body>
  12.  
  13.  
  14.  
  15. <!-- Modal Cedula 1º Modal-->
  16. <div id="ModalCI" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  17.   <div class="modal-header">
  18.     <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  19.     <h3 id="myModalLabel">Ingrese la cedula</h3>
  20.   </div>
  21.   <div class="modal-body">
  22.     <p><input type="text" id="cedula" name="cedula" value=""/></p>
  23.   </div>
  24.   <div class="modal-footer">
  25.     <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
  26.      <button class="btn btn-primary" id="enviarCI" name="enviarCI">Enviar</button>
  27.   </div>
  28. </div>
  29.  
  30. <!-- Modal Datos  2º Modal-->
  31. <div id="myModaldatos" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  32.   <div class="modal-header">
  33.     <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  34.     <h3 id="myModalLabel">Datos</h3>
  35.   </div>
  36.   <div class="modal-body" id="bodymodaldatos" name="bodymodaldatos">
  37.     <p></p>
  38.   </div>
  39.   <div class="modal-footer">
  40.     <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
  41.     <button class="btn btn-primary" id="enviarCI" name="enviarCI">Enviar Cedula</button>
  42.   </div>
  43. </div>
  44.  
  45.  
  46. $('#ModalCI').modal({
  47.   show: true //Activo el modal en la carga de la pagina
  48. })
  49.  
  50. $(document).ready(function() {    
  51.    
  52.     $('#enviarCI').click(function(){ //Si se hace click en enviar cedula
  53.         $.ajax({
  54.             type: "POST",
  55.             url: "ajaxdatos.php", //Mando a ajaxdatos.php
  56.             data: {cedula: $('#cedula').val()}, //La cedula
  57.             success: function(data) {
  58.                 if(data != ''){ //Si ajaxdatos.php me devuelve algo
  59.                     $('#ModalCI').modal('hide'); //oculto el modal de cedula
  60.                     $('#bodymodaldatos').html(data); //Inserto los datos en el otro modal que tendrá los datos
  61.                     $('#myModaldatos').modal('show'); //Muestro el modal de datos
  62.                 }else{ //si no me devuelve nada el ajaxdatos.php (porque no valido los datos)
  63.                     alert('no hay registro'); //Muestro un alert
  64.                 }
  65.             }
  66.         });
  67.     });              
  68. });  
  69.  
  70.  
  71.   </body>
  72. </html>


Y una pagina php que devuelve los datos necesario y hace las validaciones:
ajaxdatos.php
Código PHP:
<?php
if ( isset($_POST['cedula']) && $_POST['cedula'] == "12345678"){
?>
    <label>Nombre: Juan</label><br/>
    <label>Apellido: Perez</label><br/>
    <label>Cedula: 12345678</label><br/>
<?php
}
?>
En el php colocas todo lo que tú quieras validar y devolver.
Yo lo hice bastante simple, pero puede incluir las conexiones a la BD y las validaciones. En este caso, solo validará si la cedula es 12345678

Saludos!
__________________
Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta.
  #9 (permalink)  
Antiguo 25/11/2012, 13:16
Avatar de ik_fenix  
Fecha de Ingreso: octubre-2012
Ubicación: Medellin-Colombia
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Mostrar información en ventana modal

hay muchisimas gracias lo voy a intentar
Por ultimo quería preguntar si se le puede poner un tiempo de muerta a la ventana modal.
Graciassss
:D

Etiquetas: alguna, formulario, idea
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 02:00.