Ciao.
Cosa sbaglio in queste funzioni javascript, perchè non mi permette validare la data odierna?
Non dovrebbe validare solo le date antecedenti a quella odierna... invece non valida anche quella odierna... perchè?
codice:var re = new RegExp("^(\\d{2})/(\\d{2})/(\\d{4})$", ""); var arrMonths = new Array("Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"); function checkDate(dateObj) { var dt = dateObj.value.match(re); if (!dt) { alert("La data va inserita nel formato gg/mm/aaaa !"); return(false); } day = dt[1]; month = dt[2]; year = dt[3]; if (month < 1 || month > 12) { alert("Specificare un mese compreso tra 1 e 12 !"); return(false); } if (month == 2) maxDay = (!(year % 4) && ((year % 100) || !(year % 400))) ? 29 : 28; else maxDay = (month == 4 || month == 6 || month == 9 || month == 11) ? 30 : 31; if (day < 1 || day > maxDay) { alert("Il mese di " + arrMonths[month - 1] + " non ha " + day + " giorni\nSpecificare un giorno compreso tra 1 e " + maxDay + " !"); return(false); } //INIZIO CONTROLLO VALORE DATA var now = new Date(); now.setHours(0); now.setMinutes(0); now.setSeconds(0); var theDate = new Date(year, month - 1, day, 0, 0, 0); if(now.getTime() > theDate.getTime()) { alert("Il sistema non prevede l'inserimento di date antecedenti a quella odierna."); return false; } //FINE CONTROLLO DATA return(true); } function convalidaForm(Qform) { // Controlla data_intervento if (!checkDate(Qform.data_intervento)) { Qform.data_intervento.focus(); Qform.data_intervento.select(); return(false); } return(true); }

Rispondi quotando