Foros del Web » Programando para Internet » Javascript »

Acceder a determinados elemento de un formulario a través de nombres consecutivos

Estas en el tema de Acceder a determinados elemento de un formulario a través de nombres consecutivos en el foro de Javascript en Foros del Web. Buenas, Soy algo novato en esto del javascript y tengo un problemilla. Tengo un formulario con varios grupos de checkbox, por ejemplo: <input TYPE="checkbox" name="Tipo1"> ...
  #1 (permalink)  
Antiguo 12/07/2005, 11:44
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 6 meses
Puntos: 17
Acceder a determinados elemento de un formulario a través de nombres consecutivos

Buenas,

Soy algo novato en esto del javascript y tengo un problemilla.

Tengo un formulario con varios grupos de checkbox, por ejemplo:

<input TYPE="checkbox" name="Tipo1">
<input TYPE="checkbox" name="Tipo2">
<input TYPE="checkbox" name="TipoN">

A su vez, tengo checks de éste estilo:

<input TYPE="checkbox" name="Tipo1_Subtipo1">
<input TYPE="checkbox" name="Tipo1_Subtipo2">
<input TYPE="checkbox" name="Tipo1_SubtipoZ">

Es decir, hay un grupo de checks asociados (por medio del nombre) a un check "padre".

Lo que quiero hacer es que, cada vez que se active o desactive uno de esos checks padres (los "TipoN") se desactiven o activen todos sus checks hijos (los "TipoN_SubtipoZ").

Lo que se me había ocurrido es una función que se llame cuando se haga click en uno de los checks padres, a grandes rasgos es algo de éste estilo:


function cambiar(inicio, fin) {

// inicio es el primer check a cambiar (el número del elemento dentro del formulario)
// fin es el número total de elementos que se deben cambiar
fin = fin + inicio;
for (z=inicio;z<fin;z++) {
document.Form.elements[z].checked = !document.Busqueda.elements[z].checked;
}

}

Esto funciona, pero no me gusta mucho porque controlo los checks por su número dentro del array elements del formulario, de tal manera que tendría que cambiar la llamada si añado algún elemento más al formulario por delante de esos.
Además de ésta manera sólo puedo usar la función en checks que sean consecutivos.

La pregunta es ¿hay alguna forma de tratar dentro de la función el nombre del elemento?
Es decir, necesito acceder a document.form.TipoN_SubtipoZ, siendo N y Z dos números que varian en cada ejecución de la función e iteración del bucle.

No sé si se habrá entendido bien, básicamente lo que necesito es una forma de crear una expresión del estilo de: "document.formulario.elemento" dinámicamente.

Un saludo.
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 06:11.