Foros del Web » Programando para Internet » Javascript »

clonar cambiando IDs ids singulares

Estas en el tema de clonar cambiando IDs ids singulares en el foro de Javascript en Foros del Web. Clonar elementos. Esta técnica es especialmente interesante para los casos en los que tenemos un elemento del documento y necesitamos añadir otros iguales o parecidos. ...
  #1 (permalink)  
Antiguo 08/02/2010, 15:24
 
Fecha de Ingreso: junio-2009
Mensajes: 101
Antigüedad: 14 años, 10 meses
Puntos: 0
clonar cambiando IDs ids singulares

Clonar elementos.
Esta técnica es especialmente interesante para los casos en los que tenemos un elemento del documento y necesitamos añadir otros iguales o parecidos. Para esto disponemos de otro método adicional: cloneNode, el cual requiere un parámetro que será true si queremos que clone también los hijos o false en caso contrario.
Un detalle a tener en cuenta al clonar elementos es que si el elemento clonado tiene asignado un atributo id, hay que modificarlo para evitar valores duplicados que podrían provocar comportamientos imprevistos en Javascript.


La pregunta es esta:

¿Que hago para poder clonar una tabla o una serie de inputs, pero cambiando el Id para luego poder tomarlos?. Eso ya que si fuesen iguales luego no podria recorrerlos todos...solo recorre los unicos que estan.


Gracias

Luque
  #2 (permalink)  
Antiguo 08/02/2010, 15:36
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: clonar cambiando IDs ids singulares

cloneNode devuelve la referencia del elemento clonado. a partir de esa referencia tienes que recorrer los nodos para ir cambiandole los detalles necesarios. si por ejemplo la tabla contiene campos INPUTs, puedes usar la funcion getElementsByTagName a partir de la referencia devuelta por cloneNode.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 08/02/2010, 15:39
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: clonar cambiando IDs ids singulares

Hola:

Parece que tienes clara la parte teórica, pero por eso me resulta rara la pregunta...

Lo que suelo hacer es cambiar los id's antes de insertar el elemento clonado con appendChild...y claro, no rescatarlos por su id sino por alguna otra cosa... como los tags o los elements del form...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 08/02/2010, 16:50
 
Fecha de Ingreso: junio-2009
Mensajes: 101
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: clonar cambiando IDs ids singulares

hola

gracias

Si. Voy a tratar de hacer lo que indican. No lo he hecho todavia cambiandole los ids al principio:

1-. cambio los ids de los inputs
2-. clono los inputs

, pero tengo una duda :

al cambiarle los ids al principio ¿no sería lo mismo?, ya que solo estaria renombrando, por lo que siempre me quedarian los mismos valores de IDs, por lo que seguiria estando el error...o quizas estoy interpretando mal

habra algun ejemplo pequeño?
para no interpretar digo

gracias

Luque
  #5 (permalink)  
Antiguo 08/02/2010, 16:53
 
Fecha de Ingreso: junio-2009
Mensajes: 101
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: clonar cambiando IDs ids singulares

digo lo de interpretacion por esto:

hay que cambiar los ids con appenChild???
o hay que cambiar los ids antes de insertar los elementos (con appenchild)?


....
  #6 (permalink)  
Antiguo 08/02/2010, 16:58
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: clonar cambiando IDs ids singulares

Cita:
o hay que cambiar los ids antes de insertar los elementos (con appenchild)?
esa es la interpretacion correcta. primero clonas el/los elemento(s), cambias el id (o lo que fuera a modificar), y finalmente lo agregas al documento con appendChild.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 08/02/2010, 19:33
 
Fecha de Ingreso: junio-2009
Mensajes: 101
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: clonar cambiando IDs ids singulares

ya.
entiendo lo que me dices, pero no logro comprender la idea general...mas alla de la solucion

coloco un ejemplo: tengo 3 inputs en una tabla... con estos ids

table 1
tipin 1
tipin 2
tipin 3


A. clono la tabla y/o los inputs
B. cambio los ids <-----
C. los agrego con appendchild

En el punto B es donde me queda la escoba mental...En el punto A estoy clonando los elementos por lo que tambien cambiaría los IDS, o tambien podria quedar solo la primera tabla con ID y el resto no....Si luego, en el paso B, cambio los IDS entonces voy cambiar todos los IDS y yo solo necesitaría cambiar los de la tabla clonada (ej: tabla2)... y en realidad lo que quiero es ir diferenciando los IDs de cada clonacion (de cada tabla clonada)
...y con el appendchild me queda claro...


  #8 (permalink)  
Antiguo 08/02/2010, 20:52
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: clonar cambiando IDs ids singulares

opino que deberias explicar el esquema de la aplicacion que estas escribiendo porque la verdad poco estoy entendiendo el por que de que cada elemento tiene un ID. tambien puedes tomar ventaja del DOM para hacer referencia a los elementos en lugar de ID, pero de nuevo, depende de lo que finalmente quieres lograr.
Cita:
Si luego, en el paso B, cambio los IDS entonces voy cambiar todos los IDS y yo solo necesitaría cambiar los de la tabla clonada (ej: tabla2)..
en ese caso, no es conveniente asignar un ID a los inputs porque cloneNode tambien clona los atributos de los elementos.

solo a modo de capacitacion, el siguiente ejemplo muestra una aplicacion donde se computa unos valores. pero mas importante aun es que la aplicacion utiliza algunos de los detalles donde tienes dificultad. notese que se clonan elementos y, salvo en este ejemplo, se hace referencia a los campos para leer el valor. sin embargo, es el mismo principio para cambiar el ID del elemento. http://coffeescript.awardspace.com/price_unit/
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 09/02/2010, 17:13
 
Fecha de Ingreso: junio-2009
Mensajes: 101
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: clonar cambiando IDs ids singulares

ok
voy a estudiar tu ejemplo y te digo en algunos dias...
Lo unico es que lo veo un poco largo (claro tiene mas cuantificaciones), pero estoy tratando de hacerlo en una sola linea o unas 3 maximo...

Bueno...lo veo y te comento en un par de dias...
Luque
  #10 (permalink)  
Antiguo 15/02/2010, 13:40
 
Fecha de Ingreso: junio-2009
Mensajes: 101
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: clonar cambiando IDs ids singulares

ok
pude lograrlo estudiando el ejemplo que me diste...

gracias

LUqe
  #11 (permalink)  
Antiguo 15/02/2010, 13:41
 
Fecha de Ingreso: junio-2009
Mensajes: 101
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: clonar cambiando IDs ids singulares

tema cerrado

Etiquetas: clonar, ids, cambios
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 23:19.