voila le code aider moi our la formulaires
<script language="javascript">
// fonction développée en Aout 2005 par Marie-Agnés Ménard - Conseil Général de Maine et Loire
// cette fonction permet de comparer deux dates, une condition est rajoutée car la date de début de réservation ne peut
//pas être infèrieur à la date du jour si choix date du jour
//dans le formulaire à controler nommer un ou deux champs input text date1 et date2 dans l'appel de fonction
//onblur="Javascript:datecomp(this,'1') ou onblur="Javascript:datecomp(this,document.formul.date1.value);"
//'1' indique la date du jour, dans le deuxieme exemple on envoi la date1 ou peut entrer en deuxième paramètre
//une date 'JJ/MM/AAAA"
//une fonction controle validité de date est rajoutée (format + pertinence)
//une fontion de controle des chiffres
function DonnerFocus(nom) {
document.forms[0].elements[nom].focus();
}
function datecomp(datesaisie,datecompar){
var datedebut=datesaisie.value;
var datefin=datecompar;
//vérification du format - si la date est saisie je commence le travail, ce si se termine à la fin
if (datedebut!="") {
if (datefin=='1'){
//definition des variables champs pour reprendre le focus au bon endroit
var focus="date1";
}
else {
var focus="date2";
}
//véfification du format de date et +
if (!verifdate(datedebut)) {
alert("Attention soit la date n'est pas correcte, soit elle n'est pas au format JJ/MM/AAAA");DonnerFocus(focus);return false;
}
//création d'un tableau ou je range la date début dans trois cases, si il y a des zero je les supprimme
deb = new Array(3);
if (datedebut.substring(0,1)=="0"){
deb[1]=parseInt(datedebut.substring(1,2));
}
else {
deb[1]=parseInt(datedebut.substring(0,2));
}
if (datedebut.substring(3,4)=="0"){
deb[2]=parseInt(datedebut.substring(4,5));
}
else {
deb[2]=parseInt(datedebut.substring(3,5));
}
deb[3]=parseInt(datedebut.substring(6,10));
//si la datefin contient 1 on vient du formulaire dateresadebut donc on compare avec la date du jour
//dans ce cas on récupère un format de date javascript, on le transforme et on le range dans un tableau
//je ne transforme pas la variable datfin que je réutilise plus loin
if (datefin=='1') {
datef=new Date();
fin = new Array(3);
fin[1]=datef.getDate();
fin[2]=datef.getMonth()+1;
fin[3]=datef.getYear();
var message="la date de réservation ne peut être infèrieur à la date du jour";
}
//dans l'autre cas, on arrive du formulaire par dateresafin et datecompar=dateresadebut
//on récupère la dateresadebut et on la range aussi dans un tableau mais comme la datedébut
else {
fin = new Array(3);
if (datefin.substring(0,1)=="0"){
fin[1]=parseInt(datefin.substring(1,2));
}
else {
fin[1]=parseInt(datefin.substring(0,2));
}
if (datefin.substring(3,4)=="0"){
fin[2]=parseInt(datefin.substring(4,5));
}
else {
fin[2]=parseInt(datefin.substring(3,5));
}
fin[3]=parseInt(datefin.substring(6,10));
var message="la date de fin de réservation ne peut être infèrieure à la date de début";
}
//comparaison des dates
if (deb[3]<fin[3]) {
alert(message);DonnerFocus(rfocus);return false;
}
else {
if ((deb[3]== fin[3]) && (deb[2]<fin[2])){
alert(message);DonnerFocus(rfocus);return false;
}
else {
if ((deb[3]== fin[3]) && (deb[2]==fin[2]) && (deb[1]<fin[1])){
alert(message);DonnerFocus(rfocus);return false;
}
}
}
//si la date de réservation dépasse un an on demande une confirmation
if (datefin!='1'){
if ((deb[3]-fin[3])>1){
if (confirm("attention, vous avez réservé pour plus d'un an, confirmer ?")) {
return true;
}
else {
return false;
}
}
}
return true;
}
}
// Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
// Le séparateur est défini dans la variable separateur
function verifdate(d) {
var dateaverifier=d
// rangement de la date dans des variables
if (dateaverifier.substring(0,1)=="0"){
var j=parseInt(dateaverifier.substring(1,2));
}
else {
var j=parseInt(dateaverifier.substring(0,2));
}
if (dateaverifier.substring(3,4)=="0"){
var m=parseInt(dateaverifier.substring(4,5));
}
else {
var m=parseInt(dateaverifier.substring(3,5));
}
var a=parseInt(dateaverifier.substring(6,10));
//si la longueur est différent de 10 , problème
if (dateaverifier.length != 10) {
return false;
}
//les caratères / ne sont pas aux endroits attendus
else {
if((dateaverifier.charAt(2) != '/') && (dateaverifier.charAt(5) != '/')) {
return false;
}
}
//l'année n'est pa un chiffre
if (isNaN(a)) {
return false;
}
//le mois n'est pas un chiffre ou n'est pas compris entre 0 et12
if ((isNaN(m))||(m<1)||(m>12)) {
return false;
}
//test si il s'agit d'une année bissextile pour accepter le 29/02
if (((a % 4)==0 && (a % 100)!=0) || (a % 400)==0){
if ((isNaN(j)) || ((m!=2) && ((j<1)||(j>31))) || ((m==2) && ((j<1)||(j>29)))) {
return false;
}
}
else {
if ((isNaN(j)) || ((m!=2) && ((j<1)||(j>31))) || ((m==2) && ((j<1)||(j>28)))){
return false;
}
}
return true;
}
</script>