29/04/2010, 17:24
|
| | Fecha de Ingreso: febrero-2010 Ubicación: valencia
Mensajes: 146
Antigüedad: 14 años, 9 meses Puntos: 3 | |
ejecutar una funcion que valida horas para varios input y listbox POR FAVOR AYUDA!!!! YA NO SE ME OCURRE NADA HE INTENTADO DE TODO!
necesito hacer que esta funcion me valide los 3 bloques!
NOTA
esta funcion esta bien porq la probe con un solo bloque y si lo hace pero al ser 3 ya no me funciona!
y no puedo establecer la funcion para 3 bloques fijos porq para donde lo voy a usar el usuario puede agregar todos los bloques que este quiera
por eso use el for en el boton enviar
creo q el problema es como concateno las variables q paso como parametro alli adentro!! y estoy corriendo en frio las variables y nada! al entrar en el for me dice undefined!!
aqui esta el codigo
<HTML>
<HEAD>
<TITLE> prueba de horas y am y pm</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function CompararHoras(sHora1, sHora2, viam, vipm) {
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";
}
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";
}
}
}
// "[/^(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");
}
</SCRIPT>
</HEAD>
<BODY>
<form action="btnComparar" method="post">
<p>hora inicio
<INPUT TYPE="text" NAME="hini1" value="08:15" 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" 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" 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" 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" 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" 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="button" NAME="btnComparar" Value="Comparar horas" OnClick= "
for(var j=1;j<4;j++)
{
alert(CompararHoras('hini'+j.value,'hfin'+j.value, 'vam'+j.value,'vpm'+j.value));
alert(j);
}">
</p>
</form>
</BODY>
</HTML> |