Demande d'explication de code

Profil bloqué -  
 Profil bloqué -
Bonjour,

j'ai un formulaire de contact ou l'on doit rentrer la date de naissance pour un enfant ayant entre 2 et 7 ans.

Voici le test effectué lors de la validation :

if (document.form.date_naissance_enfants2<?php echo $i ?>.value!="")
{
if (datediff(document.form.date_naissance_enfants2<?php echo $i ?>.value,document.form.CHOIX_SEMAINE.value)>2557 || datediff(document.form.date_naissance_enfants2<?php echo $i ?>.value,document.form.CHOIX_SEMAINE.value)<731)
{
if (te=="")
{
te="L'enfant a moins de 2 ans ou plus de 7 ans et ne peut pas apparaître dans cette rubrique."
}
else
{
te=te+"\nL'enfant a moins de 2 ans ou plus de 7 ans et ne peut pas apparaître dans cette rubrique."
}
}

}

Et la fonction datediff :
function datediff(date_deb,date_fin) {
var aDate_deb,aDate_fin,nJ,nJ2,nM,nM2,nA,nA2;
aDate_deb = date_deb.split("/");
nJ = aDate_deb[0];
nM = aDate_deb[1];
nA = aDate_deb[2];
aDate_fin = date_fin.split("-");
nA2 = aDate_fin[0];
nM2 = aDate_fin[1];
nJ2 = aDate_fin[2];
var debut=Math.round(new Date(nA,nM-1,nJ)/86400000);
var fin=Math.round(new Date(nA2,nM2-1,nJ2)/86400000);
return Math.round(fin-debut);
}

Ce code fonctionne correctement. Mais maintenant, il faudrait pareil pour de 2 à 10 ans (au lieu de 7ans). Quelle valeur dois-je mettre ?

Merci

10 réponses

  1. nicolas59000 Messages postés 235 Statut Membre 127
     
    Salut tes chiffres 2557 et 731 correspondent aux nombres de jour ?
    0
  2. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    pour 10 ans la valeur c'est : 3653
    0
  3. nicolas59000 Messages postés 235 Statut Membre 127
     
    Donc 10 ans =365 jours par an * 10 = 3650

    Essaye et dis nous quoi

    mais bon, il y'a d'autres solutions pour connaitre si la personne est entre 2 ans et 7 ans
    0
    1. Profil bloqué
       
      Ok je vais essayer. Je suis preneur si tu as une meilleur solution
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Profil bloqué
     
    J'ai testé avec :
    if (datediff(document.form.date_naissance_enfants2<?php echo $i ?>.value,document.form.CHOIX_SEMAINE.value)>3653 || datediff(document.form.date_naissance_enfants2<?php echo $i ?>.value,document.form.CHOIX_SEMAINE.value)<731)
    
    


    Si je teste avec 01/03/2000, alors cela pose problème.
    0
  6. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    quel problème?
    0
  7. Profil bloqué
     
    Cela me dit : L'enfant a moins de 2 ans ou plus de 7 ans et ne peut pas apparaître dans cette rubrique.

    Mais normalement, si l'enfant est né le 01/03/2000, alors l'enfant n'a pas encore 10 ans....

    Pour 31/05/2000, sa fonctionne par contre
    0
  8. nicolas59000 Messages postés 235 Statut Membre 127
     
    ça pose problème ? ça ne passe pas ? ou ça plante ?

    Pour une meilleur solution, il faut m'indiquer de quel façon tu entres la date de naissance ?
    0
    1. Profil bloqué
       
      Je le rentre dans cet ordre : 31/05/2000
      0
  9. nicolas59000 Messages postés 235 Statut Membre 127
     
    et si tu fais 25/05/2000 ? regarde a partir de quand ça fonctionne et ajoute la différence avec 3653
    0