Foros del Web » Programando para Internet » Javascript »

como acceder ha array de checkbox usando getElementById

Estas en el tema de como acceder ha array de checkbox usando getElementById en el foro de Javascript en Foros del Web. hola amigos tengo este array de checkboxes quise hacer esto para ver cuantos elementos de checkbox hay var perfiles=document.getElementById.("tipuser").lengt h; alert(perfiles); pero me marca error ...
  #1 (permalink)  
Antiguo 27/02/2008, 20:29
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Pregunta como acceder ha array de checkbox usando getElementById

hola amigos tengo este array de checkboxes quise hacer esto para ver cuantos elementos de checkbox hay

var perfiles=document.getElementById.("tipuser").lengt h;
alert(perfiles);

pero me marca error

saben como puedo acceder a este array del checkbox

saludos espero sus comentarios

gracias

Alumno<input type="checkbox" name="tipuser[]" id="tipuser" value="1" />
Catedr&aacute;tico<input type="checkbox" name="tipuser[]" id="tipuser" value="2" />
Directivo<input type="checkbox" name="tipuser[]" id="tipuser" value="3" />
Administrativo<input type="checkbox" name="tipuser[]" id="tipuser" value="4" />
Invitado<input type="checkbox" name="tipuser[]" id="tipuser" value="5" />
Coordinador<input type="checkbox" name="tipuser[]" id="tipuser" value="6" />
__________________
gerardo
  #2 (permalink)  
Antiguo 27/02/2008, 20:48
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Re: como acceder ha array de checkbox usando getElementById

corrijo

var perfiles=document.getElementById("tipuser").length ;
alert(perfiles);


me marca undefined
que puedo hacer para saber cuantos elementos tiene el array de checkbox???
__________________
gerardo
  #3 (permalink)  
Antiguo 27/02/2008, 21:17
 
Fecha de Ingreso: septiembre-2007
Ubicación: El pais del oro negro
Mensajes: 96
Antigüedad: 16 años, 7 meses
Puntos: 2
Re: como acceder ha array de checkbox usando getElementById

amigo al acceder a un elemento por el id eso no va a generar ningun tipo de array es mas (y si estoy equivocado que alguien me corrija) pero creo que el id deber ser unico por cada elemento lo que podrias hacer para saber la cantidad de checkbox es:

var obj = document.getElementsByName("tipuser");

Última edición por monosulpa; 28/02/2008 a las 01:05
  #4 (permalink)  
Antiguo 28/02/2008, 01:01
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: como acceder ha array de checkbox usando getElementById

Hola:

Es cierto que el id debe ser único...
Aunque el array de nombres es técnicamente correcto, recuerdo que explorer lo implementaba fatal (no sé si lo habrá corregido en las últimas versiones), así que creo que lo más fiable es obtener el array a partir del nombre en el formulario:

var perfiles = document.forms[0].elements["tipuser[]"].length;

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 28/02/2008, 01:04
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Sonrisa Re: como acceder ha array de checkbox usando getElementById

deacuerdo con caricatos mejor hice esto

var seleccionados=0;
for(var sel=0;sel<document.formulario.tipuser.length;sel++ )
{
//alert(document.formulario.tipuser[sel].value);
if(document.formulario.tipuser[sel].checked==true)
{
seleccionados=seleccionados+1;
}
}

nota: dejando el array de checkbox con los [ ]

saludos
y gracias por la ayuda
__________________
gerardo
  #6 (permalink)  
Antiguo 28/02/2008, 01:23
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: como acceder ha array de checkbox usando getElementById

Hola chalchis:

¿Lo has probado y te funciona... ?
Dudo que de esa manera te funcione correctamente, ya que el nombre es con el juego de corchetes en blanco (lo digo por mis experiencias)... la verdad es que el índice debería estar aparte.

var seleccionados=0;
for(i=0, checks = document.formulario["tipuser[]"], total = checks.length; i < total; i++ )
seleccionados += (checks[i].checked) ? 1 : 0;

Justamente estoy terminando una página (especie de tutorial) sobre formularios: El abc de las formularios y he contemplado ese problema en la sección de validación: Checkboxes y otros arrays... el código que hay está más que probado y es un caso similar.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 28/02/2008, 01:32
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Busqueda Re: como acceder ha array de checkbox usando getElementById

pues lo probe y si se ejecuta bien ese array lo puse porque cuando envie los datos por post lo desgloso el array con php

<input type="checkbox" name="tipuser[]" id="tipuser" value="x>
<input type="checkbox" name="tipuser[]" id="tipuser" value="x>
<input type="checkbox" name="tipuser[]" id="tipuser" value="x>
__________________
gerardo
  #8 (permalink)  
Antiguo 28/02/2008, 01:56
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Re: como acceder ha array de checkbox usando getElementById

creo que viendo en otro lugares si este equivocado el poner los id iguales creo que fue un despiste mio pero como no me marco ningun error ni en firefox ni en ie supose que estaria correcto

saludos lo dejares con name[] y sin id o distintos

gracias
__________________
gerardo
  #9 (permalink)  
Antiguo 28/02/2008, 12:20
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Re: como acceder ha array de checkbox usando getElementById

ya vi el datelle de mi error si no pongo id similares en todos los checkbox no podre hacer esto

for(var sel=0;sel<document.formulario.tipuser.length;sel++ )
{
if(document.formulario.tipuser[sel].checked==true)
{
seleccionados=seleccionados+1;
}
}
__________________
gerardo
  #10 (permalink)  
Antiguo 28/02/2008, 12:26
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: como acceder ha array de checkbox usando getElementById

Hola:

Recuerda que si el nombre tiene un juego de corchetes sin índice, así tienes que manejarlo, y la única forma de manejarlo (al menos que yo conozca) es poniendo el nombre tal cual como cadena pero entre corchetes (ya lo puse más arriba)

document.formulario["tipuser[]"]

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #11 (permalink)  
Antiguo 28/02/2008, 12:32
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
De acuerdo Re: como acceder ha array de checkbox usando getElementById

gracias caricatos algo nuevo que he aprendido
antes lo usaba como lo comente al inicio pero no hacia referencia a los id ahora que me tope con ese dato

ahora ya puedo poner distintos id y usar el name como array para validar

var noseleccionados=0;
checks = document.formulario["tipuser[]"];
alert(checks.length);
for(var sel=0;sel<checks.length;sel++)
{
if(checks[sel].checked==true)
{
noseleccionados=noseleccionados+1;
}
}

if(noseleccionados==0)
{
alert("debe seleccionar el perfil");
return(false);
}
__________________
gerardo
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 02:51.