Demande d'explication de code

Fermé
Profil bloqué - 5 févr. 2010 à 14:55
 Profil bloqué - 5 févr. 2010 à 15:59
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
A voir également:

10 réponses

nicolas59000 Messages postés 228 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 1 juillet 2010 127
5 févr. 2010 à 15:27
Salut tes chiffres 2557 et 731 correspondent aux nombres de jour ?
0
Profil bloqué
5 févr. 2010 à 15:29
A mon avis oui
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 295
5 févr. 2010 à 15:31
pour 10 ans la valeur c'est : 3653
0
nicolas59000 Messages postés 228 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 1 juillet 2010 127
5 févr. 2010 à 15:31
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
Profil bloqué
5 févr. 2010 à 15:36
Ok je vais essayer. Je suis preneur si tu as une meilleur solution
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Profil bloqué
5 févr. 2010 à 15:42
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
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 295
5 févr. 2010 à 15:43
quel problème?
0
Profil bloqué
5 févr. 2010 à 15:46
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
nicolas59000 Messages postés 228 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 1 juillet 2010 127
5 févr. 2010 à 15:46
ç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
Profil bloqué
5 févr. 2010 à 15:51
Je le rentre dans cet ordre : 31/05/2000
0
nicolas59000 Messages postés 228 Date d'inscription mercredi 2 septembre 2009 Statut Membre Dernière intervention 1 juillet 2010 127
5 févr. 2010 à 15:54
et si tu fais 25/05/2000 ? regarde a partir de quand ça fonctionne et ajoute la différence avec 3653
0
Profil bloqué
5 févr. 2010 à 15:59
En faite sa marche. Merci
0

Discussions similaires