hola necesito romper el ciclo!
lo que trato de hacer es que al encontrar el error se rompe el ciclo del while
y no entre retornando false y no envie el formulario
y si llega al final del while envia el formulario en mi caso coloque la pagina de google aqui esta el codigo
como se debe hacer?
<HTML>
<HEAD>
<TITLE> prueba de horas y am y pm</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function CompararHoras(sHora1,sHora2,viam,vipm,result) {
var arHora1 = sHora1.split(":");
var arHora2 = sHora2.split(":");
var viam;
var vipm;
// Obtener horas y minutos (hora 1)
var hh1 = parseInt(arHora1[0],10);
var mm1 = parseInt(arHora1[1],10);
// Obtener horas y minutos (hora 2)
var hh2 = parseInt(arHora2[0],10);
var mm2 = parseInt(arHora2[1],10);
// Comparar MD5: bef463d2dca2d7da202a2c3d58c22d13
////////////////////primer if comprara si el primer listbox es AM si es asi lo acepta/////////////////////////////////
if (viam<vipm)
{
return "Hora correcta";
}
else
{
////////////////////segundo if comprara si el primer listbox es PM si es asi NO lo acepta/////////////////////////////////
if (viam>vipm)
{
return "Hora incorrecta";
return (result=false);
}
else
{
////////////////////Tercer if comprara si el primer o segundo listbox es igual si es asi lo acepta/////////////////////////////////
if (viam==vipm)
{
///////////////////////////si las horas del primer texbox es menor a las del segundo acepta////////////////////
if (hh1<hh2 || (hh1==hh2 && mm1<mm2))
return "Hora correcta";
else
//////////////////si las horas del primer texbox son mayores no lo acepta pero si las horas son iguales y los minutos del/////
//////////////////primero son mayor o igual que el segundo de igual manera no lo acepta/////////////////////////////////////
if (hh1>hh2 || (hh1==hh2 && mm1>=mm2))
return "Hora incorrecta";
return (result=false);
}
}
}
// "[/^(1|01|2|02|3|03|4|04|5|05|6|06|7|07|8|08|9|09|10| 11|12)\:([0-5]0|[0-5][1-9])/]"
}
function fecha(a){
//onChange="alert(CompararHoras(h1.value,h2.value,va r1.value,var2.value));"
patron ="/^(1|01|2|02|3|03|4|04|5|05|6|06|7|07|8|08|9|09|10| 11|12)\:([0-5]0|[0-5][1-9])/$";
if(!/^(1|01|2|02|3|03|4|04|5|05|6|06|7|07|8|08|9|09|10| 11|12)\:([0-5]0|[0-5][1-9])$/.test(a.value))
alert(" MALO");
return (result=false);
}
</SCRIPT>
</HEAD>
<BODY>
<form action="http://www.google.co.ve" method="post">
<p>hora inicio
<INPUT TYPE="text" NAME="hini1" value="08:15" id="hini1" onBlur="return fecha(this)">
<label>
<select name="vam1" size="1" id="vam1">
<option>1</option>
<option>2</option>
</select>
</label>
<BR>
hora final<INPUT TYPE="text" NAME="hfin1" value="09:30" id="hfin1" onBlur="return fecha(this)">
<label>
<select name="vpm1" size="1" id="vpm1">
<option>1</option>
<option>2</option>
</select>
</label>
</p>
<p> </p>
<p>hora inicio
<INPUT TYPE="text" NAME="hini2" value="08:15" id="hini2" onBlur="return fecha(this)">
<label>
<select name="vam2" size="1" id="vam2">
<option>1</option>
<option>2</option>
</select>
</label>
<BR>
hora final
<INPUT TYPE="text" NAME="hfin2" value="09:30" id="hfin2" onBlur="return fecha(this)">
<label>
<select name="vpm2" size="1" id="vpm2">
<option>1</option>
<option>2</option>
</select>
</label>
</p>
<p> </p>
<p>hora inicio
<INPUT TYPE="text" NAME="hini3" value="08:15" id="hini3" onBlur="return fecha(this)">
<label>
<select name="vam3" size="1" id="vam3">
<option>1</option>
<option>2</option>
</select>
</label>
<BR>
hora final
<INPUT TYPE="text" NAME="hfin3" value="09:30" id="hfin3" onBlur="return fecha(this)">
<label>
<select name="vpm3" size="1" id="vpm3">
<option>1</option>
<option>2</option>
</select>
</label>
</p>
<p> </p>
<p> </p>
<p>
<INPUT TYPE="submit" NAME="forms" Value="Comparar horas" OnClick= "
var j=1;
var res=true;
while((j<4) && (res==true))
{
R1=document.getElementById('hini'+j).value;
R2=document.getElementById('hfin'+j).value;
R3=document.getElementById('vam'+j).value;
R4=document.getElementById('vpm'+j).value;
j++;
alert(CompararHoras(R1,R2,R3,R4,res));
}
">
</p>
</form>
</BODY>
</HTML>