codice:
x=new Array();
data1= f.dal.value;
data2=f.notti.value;
x=data1.split("/");
x[0]=parseInt(x[0])+parseInt(data2);
if((x[0]>31) &&((x[1]=="01")||(x[1]=="03")|| (x[1]=="05")||(x[1]=="07")||(x[1]=="08")||(x[1]=="10")||(x[1]=="12")))
{
x[0]="01";
x[1]=parseInt(x[1])+1;
if (x[1]<=9)
{
x[1]="0"+x[1];
}
}
if((x[0]>30) &&(x[1]=="04"||x[1]=="06"|| x[1]=="05"||x[1]=="09"||x[1]=="11"))
{
x[0]="01";
x[1]=parseInt(x[1])+1;
if (x[1]<=9)
{
x[1]="0"+x[1];
}
}
if((x[0]>28) &&(x[1]=="02"))
{
x[0]="01";
x[1]="03";
}
data_set= new Date(Date.UTC(2010,10,02,0,0,0));
time1=Date.parse(data_set);
data_set3= new Date(Date.UTC(2010,05,29,0,0,0));
time3=Date.parse(data_set3);
data2_result= new Date(Date.UTC(x[2],x[1],x[0],0,0,0));
time2= Date.parse(data2_result);
if(time2>time1)
{alert("Periodo sbagliato A");}
if(time2<time3)
{alert("Periodo sbagliato B");}
dove:
f.dal.value = 29/09/2010
f.notti.value = 7
Mi da Periodo sbagliato B ma non è corretto!
Perchè time2 dovrebbe essere 06/10/2010 e time3 29/05/2010 quindi time2 superiore a time3 e non dovrebbe dare l'alert "Periodo sbagliato B".
C'è qualcosa che non va... provi a dare un occhiata?