Foros del Web » Programando para Internet » Javascript »

duda basica sobre getElementById

Estas en el tema de duda basica sobre getElementById en el foro de Javascript en Foros del Web. Hola que tal? Tengo una pequeña duda, por ejemplo, para acceder al contenido de un input tipo text, usando getElementById seria: Código PHP: var  texto  ...
  #1 (permalink)  
Antiguo 21/09/2007, 17:48
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 17 años
Puntos: 2
duda basica sobre getElementById

Hola que tal?
Tengo una pequeña duda, por ejemplo, para acceder al contenido de un input tipo text, usando getElementById seria:
Código PHP:
var texto document.getElementById("miTexto").value
Pero tambien se podria hacer asi:
Código PHP:
var texto document.forms.form1.miTexto.value
La duda es si ambos metodos, en el fondo son iguales? uno solo es mas "directo" que otro? hay alguna diferencia o algo?

Grax!
__________________
KIBIT.cl
  #2 (permalink)  
Antiguo 21/09/2007, 18:43
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: duda basica sobre getElementById

Hola:

Se trata de 2 cosas distintas, ya que en el primero debe estar definido el id (no es obligatorio), y en el sehundo se referencia el atributo name... para formularios me gusta más la segunda opción...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 21/09/2007, 18:46
Avatar de Escoffie  
Fecha de Ingreso: abril-2003
Ubicación: Mérida, Yucatán
Mensajes: 242
Antigüedad: 21 años
Puntos: 9
Re: duda basica sobre getElementById

Hola. Como yo lo veo, la técnica del getElementById no sólo es más directa, sino que también te permite manipular elementos sin que tengas que conocer su ruta.

Digamos que insertas elementos dinámicamente, o que quieres aplicar una función a un elemento seleccionado por el usuario, independientemente de su locación. En ese sentido, de la forma tradicional sería poco práctico, pero con el método getElementById, puedes fácilmente lograrlo.

Espero haberme explicado.

saludos.
  #4 (permalink)  
Antiguo 21/09/2007, 18:59
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: duda basica sobre getElementById

Cita:
Iniciado por Escoffie Ver Mensaje
Hola. Como yo lo veo, la técnica del getElementById no sólo es más directa, sino que también te permite manipular elementos sin que tengas que conocer su ruta.

Digamos que insertas elementos dinámicamente, o que quieres aplicar una función a un elemento seleccionado por el usuario, independientemente de su locación. En ese sentido, de la forma tradicional sería poco práctico, pero con el método getElementById, puedes fácilmente lograrlo.

Espero haberme explicado.

saludos.
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 21/09/2007, 19:04
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 17 años
Puntos: 2
Re: duda basica sobre getElementById

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Se trata de 2 cosas distintas, ya que en el primero debe estar definido el id (no es obligatorio), y en el sehundo se referencia el atributo name... para formularios me gusta más la segunda opción...

Saludos
La segnda opcion porque?
Mas rapida? que tiene de especial con la otra?

Es que estoy desarrollando una aplicacion Web y al momento de realizar las validaciones me pille con el dilema si getElementById o la ruta completa eran los mismos, y cual es mas conveniente usar.

Ya que con getElementById lo e visto mas usar para manipular el DOM de una pagina, pero tambien para acceder a sus atributos o cambiar el estilo, pero de la otra forma igual se puede acceder al formulario por ejemplo.
__________________
KIBIT.cl
  #6 (permalink)  
Antiguo 21/09/2007, 19:17
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: duda basica sobre getElementById

Hola:

getElementById te obliga a tener definido el id, y en casos especiales como arrays por ejemplo de checkboxes es algo lioso porque los id's no pueden repetirse... con los formularios, estás obligado a usar el atributo name si quieres enviar algo...

Si tienes un campo de formulario que no tienes intención de envíar (incluso podría no tener "value" como los checks que sirven para habilitar) si que podría justificarse el id... pero ni así, ya que en el propio check se pondria X.disabled = [!]this.checked...

Los formularios son objetos clásicos de una página que están desde siempre bien definidos... yo suelo reservar la manipulación "por id" para otros objetos.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 21/09/2007, 19:28
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 17 años
Puntos: 2
Re: duda basica sobre getElementById

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

getElementById te obliga a tener definido el id, y en casos especiales como arrays por ejemplo de checkboxes es algo lioso porque los id's no pueden repetirse... con los formularios, estás obligado a usar el atributo name si quieres enviar algo...

Si tienes un campo de formulario que no tienes intención de envíar (incluso podría no tener "value" como los checks que sirven para habilitar) si que podría justificarse el id... pero ni así, ya que en el propio check se pondria X.disabled = [!]this.checked...

Los formularios son objetos clásicos de una página que están desde siempre bien definidos... yo suelo reservar la manipulación "por id" para otros objetos.

Saludos
Gracias, creo que con esa explicacion me decido a mantener la forma clasica para validar mis formularios ;)
__________________
KIBIT.cl
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 02:08.