Comparer 2 dates...

Résolu
raoulbob Messages postés 3 Date d'inscription mercredi 10 mars 2004 Statut Membre Dernière intervention 12 août 2004 - 11 août 2004 à 19:06
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 13 août 2004 à 07:40
Bonjour(soir) à tous !!

J'ai depuis ce matin un énorme problème en ce qui concerne le contrôle de dates.
Je dois en effet créer un contrôle qui fait que l'utilisateur obtiendra un message d'erreur l'empêchant de soumettre le formulaire s'il a saisi une date qui soit égale à la date du jour ou bien à une date ultérieure.
Le problème est que la date que compose l'utilisateur est découpée en trois parties dane le formulaire :

/
/

J'ai eu beau chercher sur internet, je n'ai rien trouvé qui corresponde vraiment à mon problème.
Je voudrais donc pouvoir comparer la date saisie par l'utilisateur et celle du jour et lui renvoyer un message d'erreur si la date saisie et supérieure ou égale à celle du jour.
Mais comme je ne connais que très peu Javascript, je rame pas mal.

J'espère avoir été clair dans mes explications (je ne suis pas très bon pour expliquer aux autres).
Merci d'avance pour votre aide.
@+ ^_^

4 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
12 août 2004 à 10:58
Bonjour,
<script type="text/javascript">
function ctr()
{ var d=new Date(); 
 if (  ((parseInt(var_Annee.value,10)*12*31)+
 	    (parseInt(var_Mois.value,10)*31)+
    (parseInt(var_Jour.value,10) ))
      <= 
   ((d.getFullYear()*12*31)+
    (d.getMonth()*31)+
    (d.getDate()))  )
alert("date invalide");    }
</script>	    
</HEAD>

 / 
 /


on peut sûrement mieux faire ...
Cordialement Bul. [Site] [[mailto:marcel.Bultez@Tiscali.fr Mail]]
3
raoulbob Messages postés 3 Date d'inscription mercredi 10 mars 2004 Statut Membre Dernière intervention 12 août 2004
12 août 2004 à 18:42
Merci pour la réponse !!
En fait, en m'acharnant sur mon problème, j'ai pu le résoudre. Je mets la solution, si ça peut aider quelqu'un d'autre :


var Date_Actuelle = new Date();
var j = Date_Actuelle.getDate();
var m = Date_Actuelle.getMonth()+1;
var a = Date_Actuelle.getFullYear();
(formulaire.var_Annee.value >= a && formulaire.var_Mois.value >= m && formulaire.var_Jour.value >= j || (formulaire.var_Annee.value >= a && formulaire.var_Mois.value > m ) || formulaire.var_Annee.value > a)

alert('Vous ne pouvez saisir une date ultérieure ou égale à celle d\'aujourd\'hui.')

0
raoulbob Messages postés 3 Date d'inscription mercredi 10 mars 2004 Statut Membre Dernière intervention 12 août 2004
12 août 2004 à 18:45
J'ai oublié le "if" au tout début de la 5ème ligne...
:shy)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
13 août 2004 à 07:40
et moi une erreur grossière : il faut mettre
((d.getMonth()+1)*31)+

Cordialement Bul. [Site] [[mailto:marcel.Bultez@Tiscali.fr Mail]]
0
Rejoignez-nous