Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/03/2016, 10:11
gcotto
 
Fecha de Ingreso: marzo-2016
Mensajes: 8
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Pasar datos desde ventana modal a formulario

Hola, estuve leyendo mucho y quería aportar la solución que encontré a este tema por si alguien que este buscando actualmente le sirve.

Capaz que no es lo mas prolijo a nivel de programación pero creo que funciona.

Primero tengo una tabla la cual se carga con codigo php y luego un boton.

Con este codigo cargo la tabla

Código PHP:
while ($row = mysql_fetch_row($result)){   
                                    echo "<tr>";  
                                    echo "<td>$row[0]></td>";  
                                    echo "<td>$row[1]</td>";  
                                    echo "<td>$row[2]</td>";  
                                    echo "<td>"

                                    ?>

                                    <a href='#myModal_actualizar_niveles' data-toggle="modal" 
                                    data-book-id=" <?php echo $row[0?> " 
                                    data-book-id1=" <?php echo $row[1?> " 
                                    data-book-id2=" <?php echo $row[2?> " 
                                    data-book-id3=" <?php echo $row[3?> " 
                                    data-book-id4=" <?php echo $row[4?> "       
                                    data-book-id5=" <?php echo $row[5?> "       
                                    class='btn btn-info glyphicon glyphicon-edit row-edit open-AddBookDialog' style='padding: 2px 5px !important; margin-bottom: 0px; ' ></td>

                                    <?php

                                    
echo "<td>"

                                    
?>

                                    <button class='btn btn-danger glyphicon glyphicon-remove row-remove' style='padding: 2px 5px !important; margin-bottom: 0px; ' ></td>


                                    <?php

                                    
echo "</tr>"
                                  
                                  }

Como ven pongo cada valor de la tabla en un data-book-id#

Luego pongo el script

Código PHP:
<script type="text/javascript">
$(
'#myModal_actualizar_niveles').on('show.bs.modal', function(e) {
    var 
bookId = $(e.relatedTarget).data('book-id');
    var 
bookId1 = $(e.relatedTarget).data('book-id1');
    var 
bookId2 = $(e.relatedTarget).data('book-id2');
    var 
bookId3 = $(e.relatedTarget).data('book-id3');
    var 
bookId4 = $(e.relatedTarget).data('book-id4');
    var 
bookId5 = $(e.relatedTarget).data('book-id5');
    $(
e.currentTarget).find('input[name="codigo"]').val(bookId);
    $(
e.currentTarget).find('input[name="nombre"]').val(bookId1);
    $(
e.currentTarget).find('input[name="desc"]').val(bookId2);
    $(
e.currentTarget).find('input[name="pagina"]').val(bookId3);
    $(
e.currentTarget).find('input[name="libre1"]').val(bookId4);
    $(
e.currentTarget).find('input[name="libre2"]').val(bookId5);
});
</script> 

Al abrir la ventana modal se carga en cada input de la ventana modal el valor.
Cada input de la ventana modal es así.

Código HTML:
<input type='text' class='form-control' name='codigo' id='validate-number' placeholder='Codigo' required> 
<input type='text' class='form-control' name='nombre' id='validate-length' placeholder='Nombre' required>
<input type='text' class='form-control' name='desc' id='validate-length' placeholder='Descripcion' required>
<input type='text' class='form-control' name='pagina' id='validate-php' placeholder='Pagina' required>
<input type='text' class='form-control' name='libre1' id='validate-optional' placeholder='Libre1'>
<input type='text' class='form-control' name='libre2' id='validate-optional' placeholder='Libre2'> 
y así sucesivamente.

Todo esto dentro de un FORM, que luego tiene un botón para actualizar los datos de la base de datos según los input modificados.

Código HTML:
 <button type='submit' class='btn btn-primary btn-lg btn-block' >ACTUALIZAR NIVEL</button> 
Espero sirva para los que tengan dicho problema.

Saludos