Foros del Web » Programando para Internet » Javascript »

Acceso a checkboxes

Estas en el tema de Acceso a checkboxes en el foro de Javascript en Foros del Web. Wenas. Perdonar si esto ya está posteado, pero no lo he encontrado, lo cual me parece extraño, la verdad. MI duda es la siguiente: Tengo ...
  #1 (permalink)  
Antiguo 07/05/2008, 01:16
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 21 años, 5 meses
Puntos: 1
Pregunta Acceso a checkboxes

Wenas.

Perdonar si esto ya está posteado, pero no lo he encontrado, lo cual me parece extraño, la verdad.

MI duda es la siguiente:

Tengo varios checkboxes, todos con el mismo name y algunos con el mismo id (es raro, pero es necesario por otros motivos de la funcionalidad de la página).

Lo q necesito es acceder a todos los checkboxes con un id determinado, q habrá más de uno.

Con getElementsByName accedo a todos los q tengan un name determinado, y solo necesito unos cuantos de estos, los q tienen un id concreto.

Por lo tanto, busco el equivalente a dicho getElementsByName, pero para el Id.

POr cierto, para IE 6.0+

THX

Salu2
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender

Última edición por fjmasero; 07/05/2008 a las 01:25
  #2 (permalink)  
Antiguo 07/05/2008, 01:23
 
Fecha de Ingreso: mayo-2008
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
Re: Acceso a checkboxes

getelementsbyId
  #3 (permalink)  
Antiguo 07/05/2008, 01:25
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Acceso a checkboxes

Hola fjmasero

Los id no deben repetirse y, que yo sepa, no hay un equivalente a getElementsByName

A ver si este ejemplo te sirve de ayuda:

Código PHP:
<html>
<
head>

<
script type="text/javascript">
function 
ver() {
  for(
i=0ele=document.getElementById('chk'+i); i++)
    
alert(ele.checked);
}
</script>
</head>
<body>
<form>
<input type="checkbox" id="chk0" />
<input type="checkbox" id="chk1" />
<input type="checkbox" id="chk2" />
<input type="button" onclick="ver()" />
</form>
</body>
</html> 
Saludos,
  #4 (permalink)  
Antiguo 07/05/2008, 01:26
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 21 años, 5 meses
Puntos: 1
Re: Acceso a checkboxes

Cita:
Iniciado por Giorgi Ver Mensaje
getelementsbyId
Q yo sepa, esto no es válido, al menos, para IE 6.0+
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #5 (permalink)  
Antiguo 07/05/2008, 02:26
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 21 años, 5 meses
Puntos: 1
Re: Acceso a checkboxes

Cita:
Iniciado por JavierB Ver Mensaje
Hola fjmasero

Los id no deben repetirse y, que yo sepa, no hay un equivalente a getElementsByName
Estoy absolutamente de acuerdo, pero a veces, ya sabéis, lo normal no se quiere/puede utilizar
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #6 (permalink)  
Antiguo 07/05/2008, 02:56
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 4 meses
Puntos: 8
Re: Acceso a checkboxes

Cita:
Iniciado por fjmasero Ver Mensaje
Cita:
Iniciado por Giorgi Ver Mensaje
getelementsbyId
Q yo sepa, esto no es válido, al menos, para IE 6.0+
getelementsbyId no es válido, pero que yo sepa, getElementById si que lo es. En cualquier caso, lo que te ha dicho JaverB es verdad, pero si te es extremadamente necesario se podrá hacer algún apañico:

Código PHP:
<html>
<
head>

<
script type="text/javascript">
function 
ver() 
{
ident0 0;
ident1 0;
ident2 0;
    
elems document.getElementsByName("check");
  for(
0elems.lengthi++)
  {
    switch(
elems[i].id)
    {
        case 
"chk0":
            
ident0++;
            break;
        case 
"chk1":
            
ident1++;
            break;
        case 
"chk2":
            
ident2++;
            break;
        default:
            break;
    }
  }
    
alert("Hay "+ident0+" con id chk0"+'\n'+"Hay "+ident1+" con id chk1"+'\n'"Y hay "+ident2+" con id chk2.");
}
</script>
</head>
<body>
<form>
<input type="checkbox" name="check" id="chk0">Barcelona</input>
<input type="checkbox" name="check" id="chk0" /> Tarragona
<input type="checkbox" name="check" id="chk0" /> Lleida
<input type="checkbox" name="check" id="chk0" /> Girona
<input type="checkbox" name="check" id="chk1" /> Castollón
<input type="checkbox" name="check" id="chk1" /> Valencia
<input type="checkbox" name="check" id="chk1" /> Alicante
<input type="checkbox" name="check" id="chk2" /> Mallorca
<input type="checkbox" name="check" id="chk2" /> Ibiza
<input type="checkbox" name="check" id="chk2" /> Menorca
<input type="checkbox" name="check" id="chk2" /> Formentera
<input type="button" value="ver" onclick="ver()" />
</form>
</body>
</html> 
A ver si es eso lo que querias.
  #7 (permalink)  
Antiguo 07/05/2008, 05:41
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 21 años, 5 meses
Puntos: 1
Re: Acceso a checkboxes

crujikoki, tu solucion es muy válida pero te "obliga" a saber los ids q hay, pero eso no es lo suyo, y + si se trabaja de forma dinámica.

Hay mil formas de hacerlo, pero yo preguntaba si existía el equivalente al getElementsByName para usar el Id.

Si no, pues nada, a currárselo, y ya ta' :)
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #8 (permalink)  
Antiguo 08/05/2008, 01:34
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 4 meses
Puntos: 8
Re: Acceso a checkboxes

Si, hay mil formas de hacerlo, pero tambíen hay mil formas de hacer lo que pides del ID sin saberlo. Yo te he dado una solución sin tener ni idea de cual es la finalidad del script. Por ejemplo podrías pillar todos los IDs y meterlos en un array y luego haces con ellos lo que te apetezca.

Y por ejemplo para pillar todos los ides haciendo una especie de getElementsByName, es usando el getElementsByName y pillando sus IDs uno por uno con un for. Así de simple.

Pero insisto, como no se cual es la finalidad del script no te podemos dar una respuesta exacta a lo que persigues.

Pero como tu pregunta fué:

Cita:
Wenas.

Perdonar si esto ya está posteado, pero no lo he encontrado, lo cual me parece extraño, la verdad.

MI duda es la siguiente:

Tengo varios checkboxes, todos con el mismo name y algunos con el mismo id (es raro, pero es necesario por otros motivos de la funcionalidad de la página).

Lo q necesito es acceder a todos los checkboxes con un id determinado, q habrá más de uno.

Con getElementsByName accedo a todos los q tengan un name determinado, y solo necesito unos cuantos de estos, los q tienen un id concreto.

Por lo tanto, busco el equivalente a dicho getElementsByName, pero para el Id.

POr cierto, para IE 6.0+

THX

Salu2
La respuesta es NO.
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 05:57.