Con la ricerca ho trovato questa funzione e l'ho personalizzata:
codice:
var old_i = 0
var old_f = 0
function controlla(obj)
{
f = obj.form;
n = obj.name;
new_i = f.presenza_inizio.selectedIndex;
pippo = f.presenza_inizio.options[new_i].value.split("/");
data_i = new Date(pippo[2],pippo[1]-1,pippo[0]);
new_f = f.presenza_fine.selectedIndex;
pippo = f.presenza_fine.options[new_f].value.split("/");
data_f = new Date(pippo[2],pippo[1]-1,pippo[0]);
if(data_f<data_i) {
alert("La Data inizio è maggiore della Data fine!");
f.presenza_inizio.selectedIndex = old_i;
f.presenza_fine.selectedIndex = old_f;
}
else
{
window.location.href = 'Tot.asp?presenza_inizio=<%=request.querystring("presenza_inizio")%>&'+n+'=' + obj.options[obj.selectedIndex].value;
}
}
...
<select size="1" name="presenza_inizio" onChange="window.location.href='Tot.asp?presenza_fine=<%=presenza_fine%>&presenza_inizio='+this.options[this.selectedIndex].value;">
...
<select size="1" name="presenza_fine" onchange="controlla(this)">
L'unica cosa che non riesco a fare è quando si verifica la condizione "La Data inizio è maggiore della Data fine!" è mantenere nelle due select la data di oggi, ad esempio:
presenza_inizio = 27/04/2008
presenza_fine = 27/04/2008
Da presenza_fine seleziono la data 26/04/2008 e si verifica la condizione "La Data inizio è maggiore della Data fine!" con l'evento onchange vorrei che:
presenza_inizio = 27/04/2008
presenza_fine = 27/04/2008
Mi spiego?