Foros del Web » Programando para Internet » Javascript »

Modificar javascrip para que solo controloe un grupo de checkbox

Estas en el tema de Modificar javascrip para que solo controloe un grupo de checkbox en el foro de Javascript en Foros del Web. hola amigos como estan, Veran, tengo un formulario en el que tengo dos grupos de checkbox y un codigo para controlar que se pulsan un ...
  #1 (permalink)  
Antiguo 26/09/2013, 09:39
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años
Puntos: 4
Modificar javascrip para que solo controloe un grupo de checkbox

hola amigos como estan,

Veran, tengo un formulario en el que tengo dos grupos de checkbox y un codigo para controlar que se pulsan un numero minimo y maximo de ellos, el problema es que necesito que este javascritp solo controle el 1º grupo de checkbox y no el segundo.

Código Javascript:
Ver original
  1. function valores(f) {
  2. var numCheckbox = 0;
  3. for(i=0;i<document.form1.elements.length; i++){
  4.     if((document.form1[i].getElementById == 'checkbox') && (document.form1[i].checked == true)){
  5.         numCheckbox++;
  6.     }
  7. }
  8. if(numCheckbox < 3){
  9.  
  10.    alert('has seleccionado menos de 10 checkbox')
  11. }else if(numCheckbox > 4){
  12.  
  13.     alert('has seleccionado mas de 25 checkbox');
  14. }
  15. }
  16. </script>
  17. </head>
  18. <body>
  19. <form name="form1" id="form1">
  20. <div id="m_c1">
  21. <input name="c1[]" type="checkbox" value="0" />
  22. <input name="c2[]" type="checkbox" value="1" />
  23. <input name="c3[]" type="checkbox" value="2" />
  24. <input name="c4[]" type="checkbox" value="3" />
  25. <input name="c5[]" type="checkbox" value="4" />
  26. <input name="c6[]" type="checkbox" value="5" />
  27. </div>
  28.  
  29. <input name="c2" type="checkbox" value="6" />
  30. <input name="c2" type="checkbox" value="7" />
  31. <input name="c2" type="checkbox" value="8" />
  32. <input name="c2" type="checkbox" value="9" />
  33. <input name="c2" type="checkbox" value="10" />
  34. <input name="c2" type="checkbox" value="11" />
  35.  
  36.  
  37. <input type="button" onclick="valores(this.form);" value="mostrar" />
  38. <input type="text" id="sel" value="" />
  39. </form>
  40. </body>
  41. </html>


Como podria hacer para sepaar estos dos grupos de checkbox estando en el mismo form??

Un saludo!
  #2 (permalink)  
Antiguo 26/09/2013, 09:56
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: Modificar javascrip para que solo controloe un grupo de checkbox

simple, cambia el ciclo para recorrer los elementos dentro de un DIV (con las funciones del dom)

otra forma simple sería colocar una clase determinada a cada grupo de checks, y usar getElementsByClassName paroa obtener el grupo determinado
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 26/09/2013, 10:00
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años
Puntos: 4
Respuesta: Modificar javascrip para que solo controloe un grupo de checkbox

Gracias amigo,

Tambien me pregunto si seria posible hacerlo igual pero en lugar de usar un buttom usando un submit, he probado pero envia el form aun asi no se cumplan las condiciones

Un saludo
  #4 (permalink)  
Antiguo 26/09/2013, 10:13
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: Modificar javascrip para que solo controloe un grupo de checkbox

eso es porque debes de retornar false (return false;) al evento onsubmit del form en caso de no cumplirse, de ésa forma evitas que el form se envíe
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: checkbox, formulario, grupo, html, input, modificar
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 09:54.