Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Actualizar un div entre varios iguales

Estas en el tema de Actualizar un div entre varios iguales en el foro de Frameworks JS en Foros del Web. Buenas, Ya he conseguido que se me actualice un div sin que se actualice la pagina, pero el problema es que en la pagina hay ...
  #1 (permalink)  
Antiguo 14/06/2010, 04:25
Avatar de Sipy  
Fecha de Ingreso: febrero-2009
Mensajes: 47
Antigüedad: 15 años, 2 meses
Puntos: 0
Actualizar un div entre varios iguales

Buenas,

Ya he conseguido que se me actualice un div sin que se actualice la pagina, pero el problema es que en la pagina hay varios divs que usan la misma id y cuando hay mas de uno siempre me actualiza el de arriba del todo, hay alguna manera de diferenciar divs con la misma id para que se actualice el que se debe actualizar?

Muchas gracias y un saludo!
  #2 (permalink)  
Antiguo 14/06/2010, 05:42
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Actualizar un div entre varios iguales

Hola

Puedes acceder a su indice así

Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. function valores(val) {
  5. divs = document.getElementsByTagName('div');
  6. divs[val].innerHTML = 'Se ha insertado en el div ' + val;
  7. }
  8. </script>
  9. </head>
  10. <body >
  11. <div id="d"/>DIV 1</div>
  12. <div id="d"/>DIV 2</div>
  13. <div id="d"/>DIV 3</div>
  14. <button onclick="valores(2);" >mostrar</button>
  15. </form>
  16. </body>
  17. </html>

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 14/06/2010, 06:16
Avatar de Sipy  
Fecha de Ingreso: febrero-2009
Mensajes: 47
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Actualizar un div entre varios iguales

Muchas gracias, voy a clase y esta noche lo probare, Merci!!!

Un saludo
  #4 (permalink)  
Antiguo 15/06/2010, 19:05
Avatar de deirdre  
Fecha de Ingreso: mayo-2009
Mensajes: 690
Antigüedad: 14 años, 11 meses
Puntos: 45
Respuesta: Actualizar un div entre varios iguales

Hola Adler

Tu código js me produce una contradicción: ¿no es cierto que un 'id' debe ser único por cada página? O sea que no puede haber dos 'id'(s) iguales porque entonces no serían id(s).

id = identificador (dos iguales no identifican, sino confunden).

¿Estoy en un error?

Saludos
  #5 (permalink)  
Antiguo 16/06/2010, 08:05
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Actualizar un div entre varios iguales

Hola

Sí, tienes razón a media.
Fíjate, que a la función se le pasa un argumento, que equivale a la posición del div. Es decir,
como se le envia un "2" estamos haciendo referencia a <div id="d"/>DIV 2</div>.
Además, usamos document.getElementsByTagName('div');, para meter en una matriz todos los elementos con ese tag.
En resumen, realmente no estamos trabajando con las id. Pero como es lo que le ocurre a @Sipy

Ahora un caso en el que varios elementos tienen la misma id y name
Cita:
<input type="text" name="t[]" id="t[]" value="1" />
<input type="text" name="t[]" id="t[]" value="2" />
<input type="text" name="t[]" id="t[]" value="3" />
Podemos acceder a cada elemento usando getElementsByName. En este caso te daría un arreglo, con lo cual otra vez puedes acceder a cada uno de ellos, sin problemas. Con lo cual otra vez no trabajamos con sus id

Espero haberme explicado, no soy muy bueno en esto de explicar la teoría
__________________
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;" />
  #6 (permalink)  
Antiguo 16/06/2010, 10:37
Avatar de deirdre  
Fecha de Ingreso: mayo-2009
Mensajes: 690
Antigüedad: 14 años, 11 meses
Puntos: 45
Respuesta: Actualizar un div entre varios iguales

Hola Adler

Creo que te entiendo (también a medias...). Si utilizas para la llamada a 'name' lo entiendo todo, pero el tema de las duplicidades de id me sigue desconcertando.

Gracias

Bye
  #7 (permalink)  
Antiguo 16/06/2010, 12:07
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Actualizar un div entre varios iguales

Cita:
Iniciado por deirdre Ver Mensaje
Hola Adler

Creo que te entiendo (también a medias...). Si utilizas para la llamada a 'name' lo entiendo todo, pero el tema de las duplicidades de id me sigue desconcertando.

Gracias

Bye
Vale, el asunto en resumen está en que no puedes usar id idénticas siempre y cuando vayas a trabajar con ellas, por que ocurriría lo que tu mencionastes
__________________
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;" />
  #8 (permalink)  
Antiguo 16/06/2010, 17:08
Avatar de deirdre  
Fecha de Ingreso: mayo-2009
Mensajes: 690
Antigüedad: 14 años, 11 meses
Puntos: 45
Respuesta: Actualizar un div entre varios iguales

Gracias Adler

Además ya sabes que duplicidades de id crea código no estándard y no valida (porque la duplicidad, se use o no el id para algo, es un error).

Saludos y gracias.

Bye
  #9 (permalink)  
Antiguo 17/06/2010, 09:38
Avatar de Tecna  
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 14 años, 3 meses
Puntos: 45
Respuesta: Actualizar un div entre varios iguales

Buenas,

estoy totalmente de acuerdo con deirdre y además decir que también daría problemas al aplicar los estilos css y con el añadido de que como no está contemplado ( y a veces aunque lo esté ) cada navegador tiene un comportamiento distinto al aplicar los valores de los estilos computados con lo que se pueden producir resultados inesperados y errores difícles de localizar y arreglar. Y, ¿para que poner una cosa que no vamos a poder usar y que nos puede causar problemas (por despiste, de validación...)? Estamos de acuerdo en que siempre hay varias formas de hacerlo pero getElementById es mas directo que getElementsByTagName('div') ya que div los suele haber a patadas en cualquier página y dependes mucho de que la estructura no cambie y se añadan o quiten divs en este caso
  #10 (permalink)  
Antiguo 17/06/2010, 13:19
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Actualizar un div entre varios iguales

Cita:
Iniciado por Tecna Ver Mensaje
Buenas,

estoy totalmente de acuerdo con deirdre y además decir que también daría problemas al aplicar los estilos css y con el añadido de que como no está contemplado ( y a veces aunque lo esté ) cada navegador tiene un comportamiento distinto al aplicar los valores de los estilos computados con lo que se pueden producir resultados inesperados y errores difícles de localizar y arreglar. Y, ¿para que poner una cosa que no vamos a poder usar y que nos puede causar problemas (por despiste, de validación...)? Estamos de acuerdo en que siempre hay varias formas de hacerlo pero getElementById es mas directo que getElementsByTagName('div') ya que div los suele haber a patadas en cualquier página y dependes mucho de que la estructura no cambie y se añadan o quiten divs en este caso
knock, knock ¿un problema de disléxia?

Cita:
Iniciado por Sipy Ver Mensaje
Buenas,

Ya he conseguido que se me actualice un div sin que se actualice la pagina, pero el problema es que en la pagina hay varios divs que usan la misma id y cuando hay mas de uno siempre me actualiza el de arriba del todo, hay alguna manera de diferenciar divs con la misma id para que se actualice el que se debe actualizar?

Muchas gracias y un saludo!
Cita:
Iniciado por Adler Ver Mensaje
Vale, el asunto en resumen está en que no puedes usar id idénticas siempre y cuando vayas a trabajar con ellas, por que ocurriría lo que tu mencionastes
¿Cual es la discusión?
__________________
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;" />

Última edición por Adler; 17/06/2010 a las 13:30
  #11 (permalink)  
Antiguo 18/06/2010, 10:17
Avatar de Tecna  
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 14 años, 3 meses
Puntos: 45
Respuesta: Actualizar un div entre varios iguales

Buenas,

el Id debe ser ÚNICO, y no lo digo yo,

- se menciona en el estándar ECMA-262 en varios puntos.
- en la especificación HTML 4.01 en el punto 7.5.2
- en la especificación CSS2.1 en el punto 5.9
- en el núcleo del DOM nivel 2 en el método getElementById

y en el caso concreto de javascript como no provoca una excepción ni es un error de sintaxis si no se usa no dará error pero no quiere decir que no esté mal, sería un error subyacente que provocaría comportamientos inesperados porque tanto puede devolver null, como el primero que encuentre o uno aleatorio en el caso de que se hiciera referencia a él.

Cita:
Iniciado por Adler Ver Mensaje
Vale, el asunto en resumen está en que no puedes usar id idénticas siempre y cuando vayas a trabajar con ellas, por que ocurriría lo que tu mencionastes
Si no se puede trabajar con ellos no tiene ningún sentido usar ids iguales (y además seguirá estando mal).

Cita:
Iniciado por Adler Ver Mensaje
knock, knock ¿un problema de disléxia?
No se a qué viene eso y creo que los insultos están de más pero ya que insultas por lo menos escribe correctamente, sobra la tilde. Aunque no insulta quien quiere sino quien puede.
  #12 (permalink)  
Antiguo 05/07/2010, 17:54
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Actualizar un div entre varios iguales

Cita:
Iniciado por Sipy Ver Mensaje
Buenas,

Ya he conseguido que se me actualice un div sin que se actualice la pagina, pero el problema es que en la pagina hay varios divs que usan la misma id y cuando hay mas de uno siempre me actualiza el de arriba del todo, hay alguna manera de diferenciar divs con la misma id para que se actualice el que se debe actualizar?

Muchas gracias y un saludo!
  #13 (permalink)  
Antiguo 05/07/2010, 17:56
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Actualizar un div entre varios iguales

Hola Sipy.
soy nuevo en el sistema, lei la nececidad de actualizar los div sin necesidad de actualizar la pagina. Por favor podrias decirme como puedo hacerlo por medio de codigo tengo ese problema. gRacias de antemano por ola ayuda.

patricio.

Etiquetas: actualizar, unicos
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 21:32.