Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/08/2011, 23:59
vani18
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 13 años, 10 meses
Puntos: 5
validacion de checkbox explicacion duda

bien queria hacerles una consulta, sobre el funcionamiento de esta validacion en javascript. hay algunas partes en la cuales no entiendo bien que es lo que sucede..

les escribo mi explicacion y ustedes pueden masomenos guiarme...


codigo----------------------------------------


<html>
<head>
</head>
<script>
<!--
function validar(formulario)
{

//---Fin validar sexo.
opcion = false;
x = 0;
while (x<formulario.micro.length && !opcion) {


document.write(!opcion);
if (formulario.micro[x].checked){
opcion = true;
}

x++;
}
if (!opcion){
alert("Tienes que seleccionar alguna opción.....");
return false;
}

return true;
}
//-->
</script>


codigo HTML...........................

<body>
<form onSubmit="return validar(this)">

<br />
Checkbox
<br>
<input type="checkbox" name="micro" value="mac">Macintosh
<input type="checkbox" name="micro" value="pc">PC
<br />

<input type="submit" value="Conectar">
</form>
</body>
</html>

----------------------------------------

para empezar tiene una variable "opcion"con el valor false. que es la que cambiara, para que en un momento indique si hay un valor checkeado o no...

se inicializa la variable x.

comienza un while donde ingresa al mismo si
*el valor de x no supera la longitud de la matriz micro(los checkbox)
* se mantiene el valor negado de opcion(false) que seria true--- esta parte no entiendo bien...
(no se mantiene como? hasta que no cambie el valor de la variable anterior...no entiendo...
cuando se refiere a un ' if(!opcion) ' hace referencia a que si existe esa variable...podrian explicarme esta parte)
bueno como sea esta variable negada(!opcion) devuelve true ahi puse un document.write...

dentro tiene un if. que verifica si hay uno chequeado , en caso de que si este chequeado , cambia el valor de la variable a true...
otra vez me vuelvo a encontrar con esta variable negada... (!opcion)... haber... opcion ahora tiene true...
lo que si se es que no entrara en el if... por que hay un check... en todo caso podria decir que el if (!opcion) no existe...
pero no llego a entender bien...
despues bueno , si el resto lo tengo,,, claro devuelve true, indicando que esta todo ok...