Foros del Web » Programando para Internet » Javascript »

Como pasar datos de tabla a tabla o div

Estas en el tema de Como pasar datos de tabla a tabla o div en el foro de Javascript en Foros del Web. Esta funcion es para pasar datos de una fila de una tabla a los input de un formulario. Pero me gustaria saber que codigo de ...
  #1 (permalink)  
Antiguo 11/06/2010, 02:28
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 9 meses
Puntos: 0
Como pasar datos de tabla a tabla o div

Esta funcion es para pasar datos de una fila de una tabla a los input de un formulario.
Pero me gustaria saber que codigo de la funcion he de cambiar para que en vez de pasar los datos a los input de un formulario me los pase a otra tabla o a etiquetas div predefinidas.

Código Javascript:
Ver original
  1. function volcar_valores(tabla)
  2. {
  3. tr = document.getElementById(tabla);
  4. td = tr.getElementsByTagName('td');
  5. idDiv = document.getElementById('formulario');
  6. inputDiv = idDiv.getElementsByTagName('input');
  7. for (i = 0; i < td.length; i++)
  8. {
  9. inputDiv[i].value = td[i].innerHTML;
  10. }
  11. }
  #2 (permalink)  
Antiguo 11/06/2010, 05:42
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Como pasar datos de tabla a tabla o div

Hola

Como fui yo quien montó el script, si no has tocado nada mas, solo has de cambiar estás dos lineas

Cita:
inputDiv = idDiv.getElementsByTagName('div');
....
inputDiv[i].innerHTML = td[i].innerHTML;
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 11/06/2010, 07:12
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Como pasar datos de tabla a tabla o div

Efectivamente Adler muchas gracias por responderme de nuevo.
Es un honor que de nuevo me contestes.

La funcion que me hiciste me sirvio de gran ayuda como ya te comente.

Quien pudiera tener tus conocimientos.

¿Este codigo que me pones es para div o para otra tabla?

Es que tengo un problema con la tabla que presento los datos y en el foro de css he pedido ayuda y es que cuando un campo de datos es mayor que el tamaño de la celda de la tabla se crean dos lineas y esto es normal.

Pero me descuadra la persentacion de la tabla.

Entonces pense que poniendo un imput dimensionado dentro de la celda de la tabla ese problema se solucionaba y de echo asi ha sido.

Porque desplazando los cursores puedo seguir viendo los datos del contenido de la celda, aunque la celda se mas pequeña que el contenido de los datos.

El problema de la tabla se ha solucionado.

Pero al clicar en la fila de la tabla me aparecce en el formulario en el campo del input el codigo fuente del input que he puesto el la tabla mas los datos correspondientes celda de la tabla.

Asi que por eso he vuento a pedir ayuda a ver si poniendo en el formulario div en vez de imput se soluciona el problema.

La idea es dividir la pantalla en dos partes superior e inferior.
En la parte inferior me presenta una tabla con todos los registros.
Y en la parte superior un formulario con los datos individuales de cada registro de la tabla de la parte inferior.

Y clicando con el raton en la linea de la tabla cambien los datos en el formulario de la parte superior.

Asi que cuando me hiciste la funcion me funciono todo como yo queria y como he explicado, ecepto ese pequeño problema del tamaño de la celda de la tabla.

De verdad muy agradecido por contestarme, lo probare y te cuento.
Saludos.

Última edición por corretodo; 11/06/2010 a las 07:27
  #4 (permalink)  
Antiguo 11/06/2010, 07:50
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Como pasar datos de tabla a tabla o div

Hola

Para divs

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 11/06/2010, 08:04
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Como pasar datos de tabla a tabla o div

Pues no he tenido suerte porque me lo pinta en todas las div del formulario.
Aunque la clase del div sea distinta para cada div.
Dime tu que tienes mas conocimiento, si no te importa.
Como lo tengo que hacer o al menos una idea para hacer lo que he comentado anteriormente
  #6 (permalink)  
Antiguo 11/06/2010, 08:10
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Como pasar datos de tabla a tabla o div

Hola

Tal vez no he entendido que es lo que realmente te ocupa. Antes insertabas los datos en text y ahora lo que quieres es que esos datos se inserten en divs, ¿es eso?. En caso que sea sí, solamente has de cambiar los tag para crear los text por <div></div> y los divs que contienen los enunciados cambiarlos por <p></p>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #7 (permalink)  
Antiguo 11/06/2010, 10:24
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Como pasar datos de tabla a tabla o div

Perfecto.
Antes estaba para pasar la tabla a etiquetas imput, en el formulario como habras visto en el primer codigo que me hiciste.
Y ahora paso de tabla a div, en el formulario. Con el ultimo codigo que me has vuelto a hacer
Con tu respuesta se soluciona.
Asi ya queda bien, poniendo como dices los <div> a los datos y los comentarios con <p>

Como no es mucho codigo, te importaria comentarme el codigode la funcion haber si puedo aprender un poco.
Si no te importa.
Y Muchisimas Gracias por tus respuestas ha quedado perfecto
Queda definitivamente asi porque funciona muy bien.
Código Javascript:
Ver original
  1. function volcar_valores(tabla)
  2. {
  3. tr = document.getElementById(tabla);
  4. td = tr.getElementsByTagName('td');
  5. idDiv = document.getElementById('formulario');
  6. inputDiv = idDiv.getElementsByTagName('div');
  7. for (i = 0; i < td.length; i++)
  8. {
  9. inputDiv[i].innerHTML = td[i].innerHTML;
  10. }
  11. }
  #8 (permalink)  
Antiguo 11/06/2010, 12:17
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Como pasar datos de tabla a tabla o div

Hola

Se puede simplificar un poco mas

Código Javascript:
Ver original
  1. function volcar_valores(tabla)
  2. {
  3. td = document.getElementById(tabla).getElementsByTagName('td');
  4. inputDiv = document.getElementById('formulario').getElementsByTagName('div');
  5. for (i = 0; i < td.length; i++)
  6. {
  7. inputDiv[i].innerHTML = td[i].innerHTML;
  8. }
  9. }

Linea 3: Sacamos todos los td que hay dentro del tr que hemos clickeado
Linea 4: Sacamos todos los div que hay dentro del elemento cuya id es formulario
Linea 5: Hacemos un ciclo cuya iteración va de 0 hasta el total de tds que tiene el tr hemos clikeado
Linea 7: Ahora inputDiv[i] equivale a cualquier div que haya dentro del elemento con id formulario.
Es decir inputDiv[0] sería el primer div, inputDiv[1] el segundo, y así sucesivamente. Lo mismo está ocurriendo con
td[i], solo que en este caso, se refiere al primer, segundo, etc td del tr que hemos seleccionado.
innerHTML, podríamos cambiarlo a innerText para IE y textContent para FF, ya que lo que estamos
insertando es texto no HTML. Esa parte quedaría algo así

Código Javascript:
Ver original
  1. var navegador = navigator.appName;
  2. if (navegador == "Microsoft Internet Explorer") {
  3. inputDiv[i].innerText = td[i].innerText;
  4. } else {
  5. inputDiv[i].textContent = td[i].textContent;
  6. }

Ahora con las nuevas modificaciones
Código Javascript:
Ver original
  1. function volcar_valores(tabla)
  2. {
  3. var navegador = navigator.appName;
  4. td = document.getElementById(tabla).getElementsByTagName('td');
  5. inputDiv = document.getElementById('formulario').getElementsByTagName('div');
  6. for (i = 0; i < td.length; i++)
  7. {
  8. if (navegador == "Microsoft Internet Explorer") {
  9. inputDiv[i].innerText = td[i].innerText;
  10. } else {
  11. inputDiv[i].textContent = td[i].textContent;
  12. }
  13. }
  14. }

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #9 (permalink)  
Antiguo 11/06/2010, 13:29
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Como pasar datos de tabla a tabla o div

Es fabuloso, muchisimas gracias por tu explicacion.
Asi da gusto.
Voy a procurar hacer un curso de Javascript.
Veo que tiene muchisimas posibilidades.
Yo he programado muchos años en Clipper y en Neobook, pero esto se ha quedado obsoleto aun Neobook se hacen aplicaciones para alumnos.
Estoy aprendiendo php e intentare hacer algo de javascript.
Saludos
Y gracias de nuevo.
  #10 (permalink)  
Antiguo 11/06/2010, 14:00
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Como pasar datos de tabla a tabla o div

Cita:
Iniciado por corretodo Ver Mensaje
Es fabuloso, muchisimas gracias por tu explicacion.
Asi da gusto.
Voy a procurar hacer un curso de Javascript.
Veo que tiene muchisimas posibilidades.
Yo he programado muchos años en Clipper y en Neobook, pero esto se ha quedado obsoleto aun Neobook se hacen aplicaciones para alumnos.
Estoy aprendiendo php e intentare hacer algo de javascript.
Saludos
Y gracias de nuevo.
Estaremos para lo que necesites y hasta donde los conocimientos lleguen
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Etiquetas: pasar, tablas
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 20:16.