Ver Mensaje Individual
  #4 (permalink)  
Antiguo 17/08/2011, 02:01
Avatar de ceSharp
ceSharp
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 66
Respuesta: validacion de checkbox explicacion duda

hola vani,

a ver si soy capaz de explicarlo, jejejeje.

un bucle while es infinito; solo parará si la condición dada NO se cumple. o sea, que dado este absurdo bucle:
Código Javascript:
Ver original
  1. while(1!=0)
  2.     {
  3.         x +=1;
  4.     }
nunca parará, hasta que se desborden los datos. supongo que hasta ahí llegas. volvemos a tu caso
Código Javascript:
Ver original
  1. while (x<formulario.micro.length && !opcion)
este bucle parará de funcionar cuando X sea mayor que la cantidad de checks (formulario.micro.lenght) y opcion sea TRUE.

Dentro del bucle cuando encuentra un check marcado
Código Javascript:
Ver original
  1. if (formulario.micro[x].checked)
  2.         {
  3.             opcion = true;
  4.         }
cambia opcion a true, por tanto la condición del bucle ya NO se cumple, y sale de él.

El segundo if:
Código Javascript:
Ver original
  1. if (!opcion)
  2.     {
  3.         alert("Tienes que seleccionar alguna opción.....");
  4.         return false;
  5.     }
solo tiene sentido si no ha marcado ningún check. el WHILE hará que opcion sea TRUE o FALSE, si no marca ninguno, opcion seguirá siendo FALSE y por tanto alertará de esta situación.

a lo mejor te lías en !opcion mira:
Código Javascript:
Ver original
  1. while (x<formulario.micro.length && !opcion)
  2. {...}
  3.  
  4. //esto es lo mismo
  5. while (x<formulario.micro.length && opcion==false)
  6. {...}

saludos.

Última edición por ceSharp; 17/08/2011 a las 02:24