website stats » Recorrer las celdas de una tabla con Javascript | Solo Código |

Recorrer las celdas de una tabla con Javascript

Escrito por J.F. el Viernes, 21 de Septiembre del 2007 a las 17:17

En el ejemplo de hoy vamos a ver como recorrer una tabla HTML con Javascript. Para ello nos basaremos en 2 bucles, uno que recoge el número de filas, y en el caso de las columnas deberemos meter nosotros mismos el número, en éste caso son 4. La función Javascript encarga de recorrer la tabla y almacenar todos los registros concatenándolos en una variable es:

JavaScript:
  1. <script> function datosTextos() {
  2. var textos = \\'CONTENIDO_TABLA|\\';
  3. for (var i=0;i<document.getElementById(\\'TablaDatos\\').rows.length;i++) {
  4. for (var j=0;j<4;j++) {
  5. textos = textos + document.getElementById(\\'TablaDatos\\').rows[i].cells[j].innerHTML + \\'|\\';
  6. }
  7. }
  8. alert(textos);
  9. }
  10.  
  11. </script>

De ésta manera recogemos todos los valores, y los msotraremos en un alert, usando como separador una barra "|". Ésto puede ser eficaz por ejemplo para introducir en el value de un hidden toda la cadena con el contenido de la tabla, y posteriormente con otro lenguaje como PHP o ASP recogerla e ir desglosándolo mediante el separador para ir introduciendo en la base de datos. En el ejemplo de abajo, simplemente al pulsar sobre un botón llamaremos a la función mediante el evento onClick, que nos mostrará en un alert los campos. Aquí tines el código del ejemplo:

HTML:
  1. <script> function datosTextos() {
  2. var textos = \\'CONTENIDO_TABLA|\\';
  3. for (var i=0;i<document.getElementById(\\'TablaDatos\\').rows.length;i++)  
  4. {
  5. for (var j=0;j<4;j++)
  6. {
  7. textos = textos + document.getElementById(\\'TablaDatos\\').rows[i].cells[j].innerHTML + \\'|\\';
  8. }
  9. }
  10. alert(textos);
  11. }
  12. </script>
  13. <table class="TablaDatos" id="TablaDatos" border="1">
  14. <td>1</td>
  15. <td>2</td>
  16. <td>3</td>
  17. <td>4</td>
  18. </tr>
  19. <td>5</td>
  20. <td>6</td>
  21. <td>7</td>
  22. <td>8</td>
  23. </tr>
  24. <td>9</td>
  25. <td>10</td>
  26. <td>11</td>
  27. <td>12</td>
  28. </tr>
  29. <td>13</td>
  30. <td>14</td>
  31. <td>15</td>
  32. <td>16</td>
  33. </tr>
  34. </table>
  35. <input value="Ver valores de la tabla" onclick="datosTextos();" type="button" />

Observa como en la línea 10 for (var j=0;j<4;j++) debemos poner que j sea menor que el número de columnas, en éste caso 4.

Categoria: Javascript

7 Comentarios

Entradas relacionadas


Comentario de Erik Hernandez

Realizado el Martes, 25 de Marzo del 2008 a las 4:28

En el bloque de codigo de javascript tienes un error con el nombre del id del objeto Table, lo tienes en el codigo javascript TablaDatos y el id de la tabla es tablaDatos enn firefox genera un error en iexplorer no verifique pero por favor corrigelo.

Comentario de J.F.

Realizado el Martes, 25 de Marzo del 2008 a las 8:34

Corregido, gracias por el aviso, pequeño lapsus.
Un saludo :P

Comentario de Javier Cedeño

Realizado el Miércoles, 21 de Mayo del 2008 a las 17:34

ese bloque q escribiste solo te coje la etiqueta innerHTML pero no hace lo que dices solo cojer el value

saludos

Nota: no se la solucion tambien ando buscando lo mismo

Comentario de Javier Cedeño

Realizado el Miércoles, 21 de Mayo del 2008 a las 17:50

bueno estuve revisndo y tu codigo recoje los valores pero para recojer solo los values de los imput es codigo seria asi

var obj=$(’nom_tabla’).getElementsByTagName(’tr’);
for (var i=1; i

Comentario de Alvaro

Realizado el Viernes, 18 de Julio del 2008 a las 16:16

Estuve buscando este codigo por mucho tiempo… pero tengo un problema con el mismo: en la parte del codigo donde dice var textos = \\’CONTENIDO_TABLA|\\’; que colocaria alli haciendo referencia al ejemplo de la tabla?
Y tambien en esta parte:
textos = textos + document.getElementById(\\’TablaDatos\\’).rows[i].cells[j].innerHTML + \\’|\\’;
A que hacen referencia los “\\” De antemano le agradezco la atencion prestada, espero pronto su ayuda, me es de mucha importancia… Gracias. ;0)

Comentario de Alvaro

Realizado el Viernes, 18 de Julio del 2008 a las 16:23

Ok Ya pude arreglar el problema que te publique anteriormente, ahora me surge una duda… como hago para recoger estas variables y almacenarlas en una tabla de la base de datos?
Porque el ejemplo muestra 1|2|3|4|5|6|7|8|9|10…
Pero yo necesitaria insertar los primero 4 despues los 4 siguientes, y asi sucesivamente… De antemano muchas gracias. Esta pagina me ha sacado de muchas dudas pero esta vez no logro mezclar el codigo php con el javascript… Nuevamente de antemano muchas Gracias…!!! ;-)

Comentario de jhonpi1027

Realizado el Viernes, 16 de Octubre del 2009 a las 19:18

por favor necesito saber como separar los datos que me arroja el codigo en el aler y mandarlos a una base de datos por medio de un ciclo uno por uno

Escribir un comentario

Puedes usar las siguientes etiquetas HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Solo Código

Solo Código es una colección de códigos de todo tipo que pueden resultar útiles para el diseño de páginas web. Está enfocado tanto para aquellos que son expertos, como para aquellos principiantes que quieren encontrar recursos útiles, o no saben implementar determinadas funciones en sus webs. No olvides que Solo Código es un blog de Informática Práctica, donde tenemos otras secciones interesantes como:
| Tutoriales | Trucos | Software | Links | Buscar |