Foros del Web » Programando para Internet » Javascript »

checkbox

Estas en el tema de checkbox en el foro de Javascript en Foros del Web. Hola a todos, Tengo un problemilla aver si me lo podeis resolver porque no lo encuentro por ningun lado... como puedo hacer que en un ...
  #1 (permalink)  
Antiguo 26/01/2006, 12:58
Avatar de ken-obi  
Fecha de Ingreso: julio-2004
Ubicación: Alicante
Mensajes: 314
Antigüedad: 19 años, 9 meses
Puntos: 6
checkbox

Hola a todos,

Tengo un problemilla aver si me lo podeis resolver porque no lo encuentro por ningun lado...

como puedo hacer que en un formulario con 20 checkbox, SOLO se pueda seleccionar 6 y si seleccionas 1 mas salte un alert diciendo que no se puede seleccionar mas casillas.

Uffff.. dificil de explicar

Gracias de antemano
__________________
Un mundo sin fin... !!! viva los moros y cristianos de ELDA !!!
  #2 (permalink)  
Antiguo 26/01/2006, 13:18
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
A mi se me ocurre esto para más de 3 casillas
Código HTML:
<script>
var n=0
function maximo(obj,str){
if (str=="ON") {n++;}
if (str=="OFF"){n--;}
if (n>3) { alert("No se puede seleccionar más de 3 casillas");return obj.value="OFF"; }
}
</script>
<p><input type="checkbox" name="C1" value="ON" onclick="maximo(C1,C1.value)">checkbox1</p>
<p><input type="checkbox" name="C2" value="ON" onclick="maximo(C2,C2.value)">checkbox2</p>
<p><input type="checkbox" name="C3" value="ON" onclick="maximo(C3,C3.value)">checkbox3</p>
<p><input type="checkbox" name="C4" value="ON" onclick="maximo(C4,C4.value)">checkbox4</p>
<p><input type="checkbox" name="C5" value="ON" onclick="maximo(C5,C5.value)">checkbox5</p> 
Pero no consigo que se desmarque cuando selecciono más de 3 casillas
¿?
  #3 (permalink)  
Antiguo 26/01/2006, 13:26
Avatar de ken-obi  
Fecha de Ingreso: julio-2004
Ubicación: Alicante
Mensajes: 314
Antigüedad: 19 años, 9 meses
Puntos: 6
Muchisimas Gracias pero sigue dejando seleccionarlo de esa manera...
__________________
Un mundo sin fin... !!! viva los moros y cristianos de ELDA !!!
  #4 (permalink)  
Antiguo 26/01/2006, 13:33
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Desacuerdo

Si , es una chapuza :-p .
A ver si alguién más de el foro nos ayuda ...
  #5 (permalink)  
Antiguo 26/01/2006, 13:42
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola ken-obi y dogduck

Probar este código:
Código PHP:
<html>
<
head>
<
script type="text/javascript">
maxi 3;
function 
maximo(obj) {
  if (!
obj.checked) return;
  
num 0;
  for (
i=0ele=obj.form.elements[i]; i++)
    if (
ele.type=='checkbox' && ele.checkednum++;
  if (
num>maxi) {
    
alert('Tas pasao tío');
    
obj.checked=false;
  }

</script>
</head>
<body>
<form>
<p><input type="checkbox" name="C1" value="ON" onclick="maximo(this)">checkbox1</p>
<p><input type="checkbox" name="C2" value="ON" onclick="maximo(this)">checkbox2</p>
<p><input type="checkbox" name="C3" value="ON" onclick="maximo(this)">checkbox3</p>
<p><input type="checkbox" name="C4" value="ON" onclick="maximo(this)">checkbox4</p>
<p><input type="checkbox" name="C5" value="ON" onclick="maximo(this)">checkbox5</p>
</form>
</body>
</html> 
Saludos,
  #6 (permalink)  
Antiguo 26/01/2006, 13:45
Avatar de ken-obi  
Fecha de Ingreso: julio-2004
Ubicación: Alicante
Mensajes: 314
Antigüedad: 19 años, 9 meses
Puntos: 6
que maquinas soys...Muchisimas gracias a los dos :)
__________________
Un mundo sin fin... !!! viva los moros y cristianos de ELDA !!!
  #7 (permalink)  
Antiguo 26/01/2006, 13:52
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Si señor !!!
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 20:35.