Foros del Web » Programando para Internet » Javascript »

llenar input con informacion de una tabla

Estas en el tema de llenar input con informacion de una tabla en el foro de Javascript en Foros del Web. buenas, estoy un poco confunso en cuanto a que no se como hacer un codigo que solucione mi problema tengo una tabla con informacion de ...
  #1 (permalink)  
Antiguo 16/07/2015, 17:30
 
Fecha de Ingreso: julio-2015
Mensajes: 1
Antigüedad: 8 años, 9 meses
Puntos: 0
llenar input con informacion de una tabla

buenas, estoy un poco confunso en cuanto a que no se como hacer un codigo que solucione mi problema

tengo una tabla con informacion de usuarios, y en la ultima columna para cada cliente hay tres botones (ver, editar, eliminar) cada boton me abre un modals de bootstrap el cual tiene un formulario de puros input, necesito que, si doy clic en el boton ver de una fila determinada me cargue en los input la informacion de datos personales de ese usuario tales como cedula, nombre, apellidos, telefono, correo....

No se como hago para saber en que fila es la que le estoy dando clic y saber que informacion de la tabla es la que debo mandar a los input... ayuda por favor...
  #2 (permalink)  
Antiguo 16/07/2015, 22:46
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: llenar input con informacion de una tabla

Para casos como este, tienes dos opciones: O tomas a los datos que se muestran actualmente en las celdas de la fila del botón pulsado o solo envías el código identificador de dicha fila y en la ventana modal realizas una búsqueda en la base de datos la cual te devolverá los datos que le correspondan.

La primera sería más o menos así:

Código HTML:
Ver original
  1.     <thead>
  2.         <tr>
  3.             <td>Código</td>
  4.             <td>Nombre</td>
  5.             <td>Apellido</td>
  6.             <td>Edad</td>
  7.             <td>Opciones</td>
  8.         </tr>
  9.     </thead>
  10.     <tbody>
  11.         <tr>
  12.             <td>0031405</td>
  13.             <td>Juan</td>
  14.             <td>Padilla</td>
  15.             <td>48</td>
  16.             <td>
  17.                 <button onclick = "abrirVentanaModal(this.parentNode.parentNode)">Ver</button>
  18.                 <button onclick = "Tu función para editar">Editar</button>
  19.                 <button onclick = "Tu función para eliminar">Eliminar</button>
  20.             </td>
  21.         </tr>
  22.     </tbody>

Código Javascript:
Ver original
  1. function abrirVentanaModal(fila){
  2.     var codigo = fila.childNodes[1].innerHTML,
  3.         nombre = fila.childNodes[3].innerHTML,
  4.         apellido = fila.childNodes[5].innerHTML,
  5.         edad = fila.childNodes[7].innerHTML;
  6.  
  7.     //Se mostrará en consola: 0031405 Juan Padilla 48
  8.     console.log(codigo, nombre, apellido, edad);
  9.  
  10.     /* Acá abrirás la ventana modal y utilizarás los datos almacenados en las variables */
  11. }

Mediante la propiedad parentNode, obtengo al elemento que contiene al que se indique, que en este caso es el botón representado por la palabra reservada this. Inicialmente, tomo a la celda pues es el elemento contenedor del botón, pero como deseo obtener los valores de las otras celdas de la fila, obtengo al elemento que contiene a la celda, que es la fila, y así obtengo a los nodos hijos de esta que son las celdas, usando la propiedad childNodes. Al igual que en los arrays, puedo acceder a sus elementos mediante índices, los cuales empiezan con el cero hasta la cantidad total de elementos menos uno.

Como hay saltos de línea entre cada celda, se generan nodos de texto que no vemos pues no poseen contenido, pero que cuentan como nodos hijos de la fila, entonces, la lista de nodos hijos de la fila queda así:

Código HTML:
Ver original
  1. text
  2. td       --->   Celda del código
  3. text
  4. td       --->   Celda del nombre
  5. text
  6. td       --->   Celda del apellido
  7. text
  8. td       --->   Celda de la edad
  9. text
  10. td       --->   Celda de los botones
  11. text

Por los tanto, los índices de las celdas son 1, 3, 5, 7 y 9, por lo que con los cuatro primeros podré acceder a las celdas con la información, la cual guardo en variables que puedes usar para llenar los campos de la ventana modal que mencionas.

La otra forma es realizar una búsqueda en la base de datos, algo que deduzco que sabes hacer para haber llegado hasta este punto.

Trata de adaptar esto a lo que necesitas.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: formulario, informacion, input, tabla
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 18:45.