Foros del Web » Programando para Internet » Javascript »

Habilitar botón al seleccionar X numero de checkboxes

Estas en el tema de Habilitar botón al seleccionar X numero de checkboxes en el foro de Javascript en Foros del Web. Hola! Tengo esta función: Código: <script type="text/javascript"> function enviar(){ document.equipo.aceptar.disabled = true; for (i=0;i<document.equipo.elements.length;i++){ if(document.equipo.elements[i].type == "checkbox"){ if(document.equipo.elements[i].checked == 1 ){ document.equipo.aceptar.disabled = false; } ...
  #1 (permalink)  
Antiguo 20/04/2012, 13:13
Avatar de Threepwood  
Fecha de Ingreso: febrero-2002
Ubicación: Argentina
Mensajes: 906
Antigüedad: 22 años, 2 meses
Puntos: 4
Habilitar botón al seleccionar X numero de checkboxes

Hola!

Tengo esta función:
Código:
<script type="text/javascript">
function enviar(){
    document.equipo.aceptar.disabled = true;
    for (i=0;i<document.equipo.elements.length;i++){
        if(document.equipo.elements[i].type == "checkbox"){
            if(document.equipo.elements[i].checked == 1 ){
                document.equipo.aceptar.disabled = false;
                
            }
        }
    }
}
</script>
La función como se puede ver habilita un botón submit cuando hay al menos un checkbox seleccionado. Funciiona genial pero si cambio el valor "1" a cualquier otro (2,3,4 el que sea) el script deja de funcionar y el botón no se habilita nunca.

¿Cuál puede ser el problema?
__________________
Equívocos sin importancia
  #2 (permalink)  
Antiguo 20/04/2012, 13:19
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Habilitar botón al seleccionar X numero de checkboxes

Checked es booleano, por lo tanto o es 0 o es 1, y en la lógica boleana todo elemento diferente de 0 es true, a no ser que los checks tengan habilitados el triple estado donde 2 no esta ni seleccionado pero tampoco desseleccionado

Además le falto hacer referencia a la colección forms:

document.forms['equipo'].elements[i].checked
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 20/04/2012, 13:28
Avatar de Threepwood  
Fecha de Ingreso: febrero-2002
Ubicación: Argentina
Mensajes: 906
Antigüedad: 22 años, 2 meses
Puntos: 4
Respuesta: Habilitar botón al seleccionar X numero de checkboxes

Hola, Mayco!

Gracias por la respuesta! Si entendi bien, al ser checked boleano este código no me sirve para validar si hay X numero de checkbox checked, correcto?
__________________
Equívocos sin importancia
  #4 (permalink)  
Antiguo 20/04/2012, 20:00
Avatar de Threepwood  
Fecha de Ingreso: febrero-2002
Ubicación: Argentina
Mensajes: 906
Antigüedad: 22 años, 2 meses
Puntos: 4
Respuesta: Habilitar botón al seleccionar X numero de checkboxes

Al final resolví. Para quien le interese:

Código HTML:
<script type="text/javascript">
function enviar(){
    
    document.equipo.aceptar.disabled = true;
    
    var totalchecked=0;
    
    for (i=0;i<document.equipo.elements.length;i++){
        
        if(document.equipo.elements[i].type == "checkbox"){
            if(document.equipo.elements[i].checked == 1 ){
                totalchecked = totalchecked+1;
                
                }
        }
    }
    
    if (totalchecked > 4) {
    document.equipo.aceptar.disabled = false;
    document.equipo.aceptar.setAttribute("class", "aceptar");
    } else {
        document.equipo.aceptar.setAttribute("class", "disabled");
    }

}
</script> 
Saludos,
__________________
Equívocos sin importancia

Etiquetas: checkboxes, funcion, habilitar, numero
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 04:24.