dovrei confrontare 3 date:
- la attuale
- una di inizio
- una di fine
non riesco a fare i confronti con l'attuale..
qualcuno sa dirmi dove mi sono persa?
vi posto il codice
codice:function controllo_data(stringa){ var espressione = /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/; if (!espressione.test(stringa)) { return false; } else{ anno = parseInt(stringa.substr(6),10); mese = parseInt(stringa.substr(3, 2),10); giorno = parseInt(stringa.substr(0, 2),10); var data=new Date(anno, mese-1, giorno); if(data.getFullYear()==anno && data.getMonth()+1==mese && data.getDate()==giorno){ return true; } else{ return false; } } } function confronta_data(data1, data2){ dataCorr = new Date(); giorno = dataCorr.getDate(); mese = dataCorr.getMonth(); anno = dataCorr.getYear(); data = anno+mese+giorno; // controllo validità formato data if(controllo_data(data1) &&controllo_data(data2)){ //trasformo le date nel formato aaaammgg (es. 20081103) data1str = data1.substr(6)+data1.substr(3, 2)+data1.substr(0, 2); //inizio data2str = data2.substr(6)+data2.substr(3, 2)+data2.substr(0, 2); //fine //controllo se la seconda data è successiva alla prima if (data2str-data1str<0) { alert("La data iniziale deve essere precedente a quella finale"); } if (data2str-data<0) { alert("La data corrente deve essere precedente a quella finale"); } if (data1str-data<0) { alert("La data corrente deve essere precedente a quella iniziale"); } } else{ alert("Il formato data deve essere gg/mm/aaaa"); document.modulo.ggInizio.focus(); return false; } } confronta_data(dataInizio, dataFine);

Rispondi quotando
prova ad usare un solo formato se l'errore persiste non è quello
