|
|
|
|
Bonjour,
Voilà,
j'ai un formulaire dans lequel je saisie une date et je souhaiterai un controle pour vérifier si cette date est bien entre deux dates.
Mes dates sont dans une base de données mais pas de problème pour les récupérer en deux variables :
Par exemple $date1 = 2007-11-01 et $date2=2007-11-30 et je voudrai qu'il y ait un controle en javascript coté client pour vérifier que la date saisie dans le formaulaire soitr entre ces deux dates.
Merci pour votre aide.
David
Configuration: Windows XP Internet Explorer 6.0
Salut,
var date1 = new Date(2007, 11, 24);
var date2 = new Date(2007, 11, 30);
var dateMilieu = new Date(2007, 11, 28);
var dateAvant = new Date(2007, 11, 20);
var dateApres = new Date(2007, 12, 10);
if(dateMilieu >= date1 && dateMilieu <= date2) {
alert("dateMileu est bien compris entre les 2 dates");
}
if(dateAvant >= date1 && dateAvant <= date2) {
alert("Mince, ça ne marche pas pour dateAvant");
}
if(dateApres >= date1 && dateApres <= date2) {
alert("Mince, ça ne marche pas pour dateApres");
}
Ce code affiche "dateMileu est bien compris entre les 2 dates", ce qui signifie qu'il suffit de comparer les dates comme s'il s'agissait de nombres, de (chaînes de) caractères,...
=> "X compris entre X1 et X2" c'est "X>=X1 && X<=X2". Les bornes étant incluses. :-) En espérant avoir répondu à la question. |
Salut David,
<body>
<script type="text/javascript">
function validation(date) {
var date1 = new Date(2007, 11, 24);
var date2 = new Date(2007, 11, 30);
if(!(date >= date1 && date <= date2)) {
alert("La date dépasse les limites, le formulaire ne sera pas envoyé.");
return false;
}else {
return true;
}
}
</script>
<form action="blabla.htm" method="post" onsubmit="return validation(new Date(2007, 12, 10))">
<input type="submit" value="Envoyer" />
</form>
</body>
Note que j'ai inversé la condition => pas compris entre => !(condition ok)
L'auteur précise bien que cette méthode de contrôle doit constituer un plus ; côté serveur il vaudra mieux réitérer ce contrôle. ;-) Je t'emprie. |
Merci mais j'ai donc testé ce code et avec l'exemple suivant ça me renvoie systematiquement vers la page blabla dans tous les cas de date
|
Si
|