Merci arnal169130,
j'ai pris ce code(du dernier lien)
mais je n'arrive pas à l'adapter à mon code:
je sais que la fonction est à mettre entre <head> et </head>
voila la fonction :
function isDateValid(chaineDate) {
// Je regarde tout d'abord si la chaîne n'est pas vide, sinon pas la peine d'aller plus loin
if (chaineDate != "")
{
alert("Veuillez entrer la date de fin de mise en ligne");
document.ajout_breve.datefin.focus();
return false;
}
// J'utilise split pour créer un tableau dans lequel je récupère les jour mois année
// J'attends bien sûr une date formatée en JJ/MM/AAAA
var ladate = (chaineDate).split("/");
// Si je n'ai pas récupéré trois éléments ou bien s'il ne s'agit pas d'entiers, pas la peine non plus d'aller plus loin
if ((ladate.length != 3) || isNaN(parseInt(ladate[0])) || isNaN(parseInt(ladate[1])) || isNaN(parseInt(ladate[2])))
{
alert("Le format de la date de fin de mise en ligne n'est pas correcte");
document.ajout_breve.datefin.focus();
return false;
}
// Sinon, c'est maintenant que je crée la date correspondante. Attention, les mois sont étalonnés de 0 à 11
var unedate = new Date(eval(ladate[2]),eval(ladate[1])-1,eval(ladate[0]));
// Bug de l'an 2000 oblige, lorsque je récupère l'année, je n'ai pas toujours 4 chiffres selon les navigateurs, je rectifie donc ici le tir.
var annee = unedate.getYear();
if (((Math.abs(annee)+"").length < 4)
{
annee = annee + 1900;
}
// Il ne reste plus qu'à vérifier si le jour, le mois et l'année obtenus sont les mêmes que ceux saisis par l'utilisateur.
return ((unedate.getDate() == eval(ladate[0])) && (unedate.getMonth() == eval(ladate[1])-1) && (annee == eval(ladate[2])))
}
Je ne sais pas comment il fait que je donne dateChaine à la fonction
en tout cas voila ce que j'ai fais
<tr align="left">
<td align="right"><b>Date de fin de mise en ligne<br>avant archivage</b></td>
<td><input type="text" name="datefin" onKeyUp="isDateValid(this)" >
<SMALL>Format de la date : jj/mm/aaaa </SMALL>
</td>
</tr>
et
<input type="submit" value=" Valider " onclick=" return isDateValid()">