Mensajes [2] - Enviado el Martes 18 de Marzo de 2008 a las 10:27hs
ACLARO, ES LA PRIMERA VEZ QUE MANEJO JAVA, Y ESTOY PERDIDISIMO, PERO NECESITO RESOLVER ESTO.
TENGO UN FORMULARIO EN ASP QUE VALIDA UNAS FECHAS PARA RECUPERAR LA CONTRASE?A. LA FUNCION QUE COMPARA ESTA EN JAVASCRIPT Y EL TEMA ES QUE EN i.e. ANDA PERO EN FIREFOX NO, Y NO PUEDO ENCONTRAR EL PROBLEMA. SI ME DAN UNA MANO SE LOS VOY A AGRADECER. AQUI POSTEO EL CODIGO DE LA FUNCION PRIMERO, Y LUEGO DEL FORMULARIO ASP
FUNCIONES:
/******************************************************************************
** Compara dos fechas y devuelve TRUE si fechaMayor es mayor que fechaMenor **
******************************************************************************/
function comparaFecha(fechaMenor, fechaMayor)
{
tmpstrFecExpira = DateInputFix(fechaMayor);
tmpSplitFecExpira = tmpstrFecExpira.split("/");
dia1 = eval(tmpSplitFecExpira[0]);
mes1 = eval(tmpSplitFecExpira[1]) - 1;
ano1 = eval(tmpSplitFecExpira[2]);
fecExpira = new Date(ano1, mes1, dia1);
tmpstrFecPublic = DateInputFix(fechaMenor);
tmpSplitFecPublic = tmpstrFecPublic.split("/");
dia2 = eval(tmpSplitFecPublic[0]);
mes2 = eval(tmpSplitFecPublic[1]) - 1;
ano2 = eval(tmpSplitFecPublic[2]);
fecPublic = new Date(ano2, mes2, dia2);
difMilSeg = fecExpira - fecPublic;
if (difMilSeg >= 0)
return true;
else
return false;
}
/**********************************************
** Verifica que id_date sea una fecha v?lida **
**********************************************/
function isDate(id_date)
{
var tmpDate,tmpDateParts,tmpHourParts = new String;
var tmpDay,tmpMonth,tmpYear,tmpHour,tmpMinute = new Number;
var hasHour=new Boolean;
var tmpSplit=new Array;
var months=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var reDate=/^\d+\/\d+\/\d+$/;
var reHour=/^\d+:\d+$/;
tmpDate=DateInputFix(id_date);
tmpSplit=tmpDate.split(" ");
switch(tmpSplit.length)
{
case 1:
hasHour=false;
break;
case 2:
hasHour=true;
break;
default:
return(false);
}
if (!reDate.test(tmpSplit[0])) { return(false); }
tmpDateParts=tmpSplit[0].split("/");'modifique
if (hasHour==true)
{
if (!reHour.test(tmpSplit[1])) { return(false); }
tmpHourParts=tmpSplit[1].split(":");
tmpHour=parseInt(tmpHourParts[0],10);
tmpMinute=parseInt(tmpHourParts[1],10);
if (tmpHour<0 || tmpHour>24 || tmpMinute<0 || tmpMinute>59) { return(false); }
}
tmpDay=parseInt(tmpDateParts[0],10);
tmpMonth=parseInt(tmpDateParts[1],10);
tmpYear=parseInt(tmpDateParts[2],10);
if (tmpMonth<1 || tmpMonth>12 || tmpDay>31 || tmpDay<1) { return(false); }
if (tmpDateParts[2].length != 4) { return(false); }
if ((tmpYear % 4==0 && tmpYear % 100!=0) || tmpYear % 400==0) { months[1]=29; }
if (tmpDay>months[tmpMonth-1]) { return(false); }
if (tmpYear > 9999) { return(false); }
return(true);
}
/*********************************************
** Devuelve una fecha con barras divisorias **
*********************************************/
function DateInputFix(df_date)
{
df_date=df_date.replace(/ +/g," ");
df_date=df_date.replace(/^ /,"");
df_date=df_date.replace(/ $/,"");
df_date=df_date.replace(/ *\/ */g,"/");
df_date=df_date.replace(/ *: */,":");
return(df_date);
}
AHORA VA EL FORMULARIO ASP:
----------------------------------------------------------------------------------------------------------------------------