Foros del Web » Programando para Internet » Javascript »

contar numero de checkbox

Estas en el tema de contar numero de checkbox en el foro de Javascript en Foros del Web. Muy buenas, aquí les traigo una gran duda, e buscado por el foro y encontré multitud de respuestas pero para mi caso no me sirven, ...
  #1 (permalink)  
Antiguo 06/07/2008, 17:18
 
Fecha de Ingreso: noviembre-2006
Mensajes: 27
Antigüedad: 17 años, 5 meses
Puntos: 1
contar numero de checkbox

Muy buenas, aquí les traigo una gran duda, e buscado por el foro y encontré multitud de respuestas pero para mi caso no me sirven, veamos, quiero contar el numero de checkbox marcados para poner un limite de que el mínimo de marcados es 1, este es el code por ejemplo
Código:
<input type="checkbox"  name="check[]"  value='j'>lol
<input type="checkbox"  name="check[]"  value='q'>ll
le pongo check[] para que después de enviar el formulario poder recoger el valor de los checkbox para enviar a una db, se puede contar los checkbox marcados mediante el id o de otra forma ???, o sino , saben alguna forma para poner el name igual en todos los checkbox y que después mediante php pueda extraer los valores de los seleccionados ? (se supone que se puede porque tengo visto formularios con los name iguales y que envía a la db los que seleccione pero no se como lo hacen..).


Un saludo a todos/as y gracias de antemano.
  #2 (permalink)  
Antiguo 06/07/2008, 18:49
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Respuesta: contar numero de checkbox

Hola djmourino:

Creo que tu problema es obteniendo los campos, por culpa de los corchetes, ¿no es así?

Lo que buscas se puede obtener con el siguiente código:
Código PHP:
<form name="miForm" action="destino.php" method="post" onsubmit="return validar(this, 3)">
    <
p>Escoja como mínimo 3 opciones por favor:</p>
    <
input type="checkbox"  name="check[]" value='j' id="chk1" /><label for="chk1">uno</label>
    <
input type="checkbox"  name="check[]" value='q' id="chk2"><label for="chk2">dos</label>
    <
input type="checkbox"  name="check[]"  value='q' id="chk3"><label for="chk3">tres</label>
    <
input type="checkbox"  name="check[]"  value='q' id="chk4"><label for="chk4">cuatro</label>
    <
input type="checkbox"  name="check[]"  value='q' id="chk5"><label for="chk5">cinco</label>
    <
input type="checkbox"  name="check[]"  value='q' id="chk6"><label for="chk6">seis</label>
    <
button type="submit">Enviar</button>
</
form>



<
script type="text/javascript">
<!--


function 
validar(fminimosMarcados) {
    
//recogemos los campos
    
var chks f["check[]"];
    
//contamos los que se han marcado
    
for(var i=0contador=0i<chks.lengthi++)
        if( 
chks[i].checked )
            
contador++;
    if( 
contador >= minimosMarcados )
        return 
true;
    else {
        
alert("Debes marcar como mínimo "+minimosMarcados+" checkboxes, y has marcado "+contador);
        return 
false;
    }
}

// -->
</script> 

Un saludo
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #3 (permalink)  
Antiguo 07/07/2008, 06:17
 
Fecha de Ingreso: noviembre-2006
Mensajes: 27
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: contar numero de checkbox

Gracias derkenuke eres el amo, me funciono a la perfección y este mismo código me resuelve muchas otras dudas que tenia.

Un saludo y gracias de nuevo por la ayuda.
  #4 (permalink)  
Antiguo 07/07/2008, 07:12
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Respuesta: contar numero de checkbox

De nada djmourino.

Nos leemos!
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 12:46.