hello,
j'ai un formulaire:
| Date de mise en ligne | Format de la date : jj/mm/aaaa |
Date de fin de mise en ligne avant archivage | Format de la date : jj/mm/aaaa |
| Titre | |
la date est au format texte
et je voudrai que l'utilisateur entre sous le format jj/mm/aaaa
j'aimerai mettre une alerte quand il me met n'importe quoi dans ce champs!!!!
j'ai pris ce code sur le web (car je ne programme pas du tout en javascript
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 pour 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()">
SVP,aider moi
merci pour votre aide
bye