Foros del Web » Programando para Internet » Javascript »

¿cómo acceder a campo de formulario con nombre de array: nombre[x] ?

Estas en el tema de ¿cómo acceder a campo de formulario con nombre de array: nombre[x] ? en el foro de Javascript en Foros del Web. Hola buenas, tengo un formulario con campos de nombres: campo1[1] campo1[2] .. .. campo1[n] y tengo un script que los valida, pero no soy capaz ...
  #1 (permalink)  
Antiguo 03/07/2007, 13:28
 
Fecha de Ingreso: abril-2004
Mensajes: 310
Antigüedad: 20 años, 8 meses
Puntos: 0
¿cómo acceder a campo de formulario con nombre de array: nombre[x] ?

Hola buenas, tengo un formulario con campos de nombres:
campo1[1]
campo1[2]
..
..
campo1[n]

y tengo un script que los valida, pero no soy capaz de acceder al valor de los campos usando su nombre campo1[n]. Solamente puedo acceder mediante elements[n] pero necesito acceder por el nombre del campo para validar según su nombre, ya que con elements sería mucho más complicado.
Javascript me dice que el elemento formulario.campo1[n].value es nulo o no es un objeto...

Con php no tengo problema en acceder de ese modo, pero en javascript no me deja ;(
A ver si podéis darme una solución.
Gracias!
  #2 (permalink)  
Antiguo 04/07/2007, 01:01
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 9 meses
Puntos: 1284
Re: ¿cómo acceder a campo de formulario con nombre de array: nombre[x] ?

Hola:

Con la jerarquía de los objetos tienes 2 posibles maneras de referenciarlos: usando los puntos como tu ejemplo o con pares de corchetes y el nombre del atributo como una cadena... o sea que document.forms es lo mismo que document["forms"]... y para tu caso puedes hacerlo con un sistema mixto:

document.forms.tu_forrmulario["campo[" + i + "]"] // i es el supuesto índice

ó... document.forms.tu_forrmulario["campo[0]"]...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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:15.