Foros del Web » Programando para Internet » Javascript »

Seleccionar maximo 6

Estas en el tema de Seleccionar maximo 6 en el foro de Javascript en Foros del Web. Buenas; Tengo un formulario en el que propongo mediante checkbox que seleccionen una seri de opciones, pero el problema está en que quiero que sólo ...
  #1 (permalink)  
Antiguo 28/04/2004, 05:30
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 11 meses
Puntos: 0
Seleccionar maximo 6

Buenas;

Tengo un formulario en el que propongo mediante checkbox que seleccionen una seri de opciones, pero el problema está en que quiero que sólo puedan selecciona 6 como máximo.

¿Se puede restringir de alguna forma esto?

Gracias
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #2 (permalink)  
Antiguo 28/04/2004, 05:41
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Hola, ferent.

Ahí va eso:
Código PHP:
<html>
<
head>
<
script>
function 
contar(fr) {
    
num=0;
    for(
i=0;i<fr.elements.length;i++)
        if(
fr.elements[i].type=='checkbox')
            if(
fr.elements[i].checked)
                
num+=1;
    if (
num>6)
        
alert('Tas pasao');
}
</script>
</head>

<body>
<form>
<input type="checkbox" />
<input type="checkbox" />
<input type="button" onclick="contar(this.form)" />
</form>
</body>
</html> 
Solo he puesto 2 checkbox para que ocupe menos. Espero que te sirva.

Saludos,
  #3 (permalink)  
Antiguo 28/04/2004, 05:42
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
'nas....

a ver si te sirve esto


Código:
<script language="JavaScript" type="text/javascript">
var maxOp = 6
var Op = 0
function opciones(cual){
if(cual.checked){
	if(Op == maxOp){
		alert('no puedes seleccionar más de ' + maxOp + ' opciones')
		cual.checked = false
		}
	else{
		Op++
		}
	}
else{
    Op--
   }
}
</script>
y a todos tus checkboxes les pones....

<input type="checkbox" name="checkbox" value="checkbox" onclick="opciones(this)" />

  #4 (permalink)  
Antiguo 28/04/2004, 05:43
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Elefantes volantes, tunait. Hacía tiempo que no chocabamos

Saludos,
  #5 (permalink)  
Antiguo 28/04/2004, 05:43
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Alaaaa y yo que pensé que había sido rápida!!
  #6 (permalink)  
Antiguo 28/04/2004, 05:44
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Cita:
Mensaje Original por JavierB
Elefantes volantes, tunait. Hacía tiempo que no chocabamos

Saludos,

y dos veces!!!

En realidad hacía tiempo que no chocaba con nadie.... (como ando tan ausente ultimamente...)


p.d. y encima voy y me cito a mi misma....

Última edición por tunait; 28/04/2004 a las 05:47
  #7 (permalink)  
Antiguo 28/04/2004, 05:48
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
Esto te serviría?
Código PHP:
<html>
<
head>
    <
title>Untitled</title>
    <
script>
    
maximo=6//Pon aquí el máximo de seleccionables
    
    
total=0;
    function 
sumar(esto){
        if (
esto.checked){
            if(
total>=maximo){return false}
            
total+=1;
        }
        else{
total-=1;}
    }
    
</script>
</head>

<body>

<form>

<input type="checkbox" name="cosa" value="aa1" onClick="return sumar(this)">Una cosita<br>
<input type="checkbox" name="cosa1" value="aa2" onClick="return sumar(this)">Una cosita<br>
<input type="checkbox" name="cosa2" value="aa3" onClick="return sumar(this)">Una cosita<br>
<input type="checkbox" name="cosa3" value="aa4" onClick="return sumar(this)">Una cosita<br>
<input type="checkbox" name="cosa4" value="aa5" onClick="return sumar(this)">Una cosita<br>
<input type="checkbox" name="cosa5" value="aa6" onClick="return sumar(this)">Una cosita<br>
<input type="checkbox" name="cosa6" value="aa7" onClick="return sumar(this)">Una cosita<br>
<input type="checkbox" name="cosa7" value="aa8" onClick="return sumar(this)">Una cosita<br>
<input type="checkbox" name="cosa8" value="aa9" onClick="return sumar(this)">Una cosita<br>
<input type="checkbox" name="cosa9" value="aaa" onClick="return sumar(this)">Una cosita<br>
<input type="checkbox" name="cosa10" value="aab" onClick="return sumar(this)">Una cosita<br>
</form>

</body>
</html> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #8 (permalink)  
Antiguo 28/04/2004, 05:49
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
Joé!! Yo haciendo mis cositas... y veo que hay triple choque!!

Jopetas!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #9 (permalink)  
Antiguo 28/04/2004, 05:51
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
jajaja!! Además el mío es idéntico al de la guapisima tunait! jeje!!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 28/04/2004 a las 05:54
  #10 (permalink)  
Antiguo 28/04/2004, 05:56
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Cita:
Mensaje Original por KarlanKas
Joé!! Yo haciendo mis cositas... y veo que hay triple choque!!

Jopetas!
alaaaaaa si somos más!! ¿hacemos una fiesta?? (ya que estamos...)

Cita:
jajaja!! Además el mío es idéntico al de la guapisima tunait! jeje!!
Si es que menos la guapura todo se pega!!


gracias por eso de guapísima ¿pediste yá hora con el óptico??
  #11 (permalink)  
Antiguo 28/04/2004, 05:58
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
Pues sí, y le enseñé tu foto. Me djo que veia de maravilla y que te dijera "Guapa, guapa y guapa!" de su parte. Así queeee... de parte del doctor Miralles "Guapa guapa y guapa!"
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #12 (permalink)  
Antiguo 28/04/2004, 05:58
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
... siguiendo con los offtopics....

Cita:
javierB sais:
alert('Tas pasao');

já! el mejor de todos
  #13 (permalink)  
Antiguo 28/04/2004, 06:07
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
¡Que alguien saque unas birritas!

Cita:
tunait chamulla:
já! el mejor de todos
Si es que cuando me viene la inspiración
  #14 (permalink)  
Antiguo 28/04/2004, 06:14
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
tunait chamulla: jaaaaa anda que no me han hecho reir con este post gracias me hacía falta


Me apunto a esas birras


Ferent... disculpa por haber convertido tu post en un botellón primaveral ¿tapuntas?


al final van a venir los moderadores y nos van a banear, yá verás yá....
  #15 (permalink)  
Antiguo 28/04/2004, 08:48
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 11 meses
Puntos: 0
Que pena que en el foro no se sirvan birras virtuales en este foro, ya se sabe... ... Pero siempre estoy dispuesto a lo que sea con tal pasarmelo bien.

Invita el posteador de la pradera!!!
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #16 (permalink)  
Antiguo 28/04/2004, 08:50
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 11 meses
Puntos: 0
Por cierto, me encuentro probando los códigos, ya les diré quien es el ganador.

Gracias por todo chicos, son los mejores!!!
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #17 (permalink)  
Antiguo 28/04/2004, 09:18
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Cita:
Mensaje Original por ferent
Que pena que en el foro no se sirvan birras virtuales en este foro, ya se sabe...
Séh, además te multan si vas pasado de 0,6 g/litrosangre y te pillan respondiendo posts

Cita:
Por cierto, me encuentro probando los códigos, ya les diré quien es el ganador.
Aish, qué nervios .... ... quién será el andegüineris
  #18 (permalink)  
Antiguo 28/04/2004, 11:04
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
Como algún moderador vea este post... seguro que lo cierra!!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #19 (permalink)  
Antiguo 30/04/2004, 01:55
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 11 meses
Puntos: 0
Probé el de Tunait, no me pregunten por qué , y funciona que dá gusto!!

Gracias a todos y cuiden la resaca.
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #20 (permalink)  
Antiguo 30/04/2004, 03:08
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 11 meses
Puntos: 0
Pues no va tan bien, ya que si previamente tengo seleccionados por ejemplo 4 check no aparece la advertencia.
Pido disculpas ya que no me explique del todo bien. Les cuento:

Lo que hago no es un mero formulario de "dime tus gustos", sino un formulario dinámico en PHP que tira de base de datos, de tal forma que mi cliente clica 6 campos del mismo y se guardan en la base. Entonces la próxima vez que acceda al mismo formulario para realizar cambios ya le aparecen los 6 check que picó en su día, y debe DESeleccionar alguno para marcar otro, de tal forma que nunca haya más de 6 clicados.

Creo que quedó más o menos claro.

¿Cómo mejoro el script de TUNAIT para que solucione dicoh problema?

Gracias
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #21 (permalink)  
Antiguo 30/04/2004, 03:15
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
'nos diaaas


entonces es cuestión de que escribas desde php el valor inicial de Op

<script language="JavaScript" type="text/javascript">
var maxOp = 6
var Op = <? echo $cantidad ?> //debe ser algo así, que yo de php no se ná
function opciones(cual){
if(cual.checked){
if(Op == maxOp){
alert('no puedes seleccionar más de ' + maxOp + ' opciones')
cual.checked = false
}
else{
Op++
}
}
else{
Op--
}
}
</script>

A ver si con eso...
  #22 (permalink)  
Antiguo 30/04/2004, 03:27
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 11 meses
Puntos: 0
Por que no hay un smile que signifique "a tus pies" que si no...

Muchas gracias!!!
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
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 10:18.