Fonction non activer...

momosan77 Messages postés 47 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 19 décembre 2011 - 17 déc. 2010 à 12:30
momosan77 Messages postés 47 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 19 décembre 2011 - 20 déc. 2010 à 10:17
Bonjour,
j'expose mon soucis donc c'est que la fonction principale ne considère ni les fonction secondaire no les fonction principale.
Alors que sa a fonctionner auparavant...

Merci, si vous pouvez m'aider encore une fois.

# function date_d()
# { 
#     var date_dd = document.formulaire.depart.value;
#     var formatd = /^(\d{1,2}\/){2}\d{4}$/;//definit la forme de la date en /
#     if(!formatd.test(date_dd))//teste le format de la date
#     {
#     alert('Date non valable !Veuillez entrer une date de départ valide JJ/MM/AAAA');
#     return false;
#     }
#     else//teste les numerique dans la date
#     {
#         var date_temp = date_dd.split('/');//mise en place des / dans la date
#         date_temp[1] -=1;        // On rectifie le mois !!!
#         var ma_date = new Date();
#         ma_date.setFullYear(date_temp[2]);
#         ma_date.setMonth(date_temp[1]);
#         ma_date.setDate(date_temp[0]);
#
#     if(ma_date.getFullYear()==date_temp[2] && ma_date.getMonth()==date_temp[1] && ma_date.getDate()==date_temp[0])
#         {
#         }
#         else
#         {
#         alert('Date non valable !Veuillez Entrer une Date Valide JJ/MM/AAAA');
#         return false;
#         }
#      
#                 var dy=new Date();//Fonction Date Qui recupere la date complete d'aujourd'hui,ainsi que l'heure,les minutes...
#                 function dd()//Fonction qui renvoi notre annee civil
#                 {
#                 //Defini note annee civil par le getFullYear()
#                 return dy.getFullYear();
#                 }
#
#                 var dyd = ma_date.getFullYear();//Defini une annee utilisateur
#                 function ddy()//Fonction qui renvoi notre annee utilisateur
#                 {
#                 return dyd;
#                 }
#      
#                 var dmd=new Date();
#                 function dm()//Fonction qui renvoi notre mois utilisateur
#                 {
#                 //Defini notre mois actuelle mais nécessite +1,
#                 //car les mois de javascript commencent de 0 et finissent à un 1
#                 //Date Recuperer par le getMonth()
#                 return dmd.getMonth()+1;
#                 }
#      
#                 var ddm = ma_date.getMonth()+1;
#                 function dum()//Fonction qui renvoi notre mois utilisateur
#                 {
#                 return ddm;
#                 }
#      
#                 var dj = new Date();
#                 function djo()//Fonction qui renvoi notre Jour Actuelle
#                 { //Date Recuperer par le getDay()
#      
#                 return dj.getDate();
#                 }
#
#                 var ddj = ma_date.getDate(); //defini la date du Jour utilisateur
#                 function duj()//Fonction qui renvoi notre jour utilisateur
#                 {
#                 return ddj;
#                 }
#      
#                     if(ddy()<dd())//compare les deux année entre elles
#                     {
#                     alert("Date non valable ! Veuillez entrer une année valide" );
#                     return false;
#                     }
#                     else if(ddy()==dd() && dum()<dm())//compare les deux année entre elles et les mois
#                     {
#                     alert("Date non valable ! Veuillez entrer un mois valide" );//alert permet d'afficher une fentre pour l'utilisateur
#                     return false;
#                     }
#                     else if(ddy()==dd() && dum()==dm() && duj()<djo()) 
#                     {
#                     alert("Date non valable ! Veuillez entrer un jour valide" );
#                     return false;
#                     }
#
#                     if (document.formulaire.depart.value == document.formulaire.retour.value)//Compare si Date sont identique
#                     {
#                     alert ("Les Dates sont les mêmes, veuillez resaisir une date de retour ou d'arriver" );
#                     return false;
#                     }
#                     return false;
#     }
#
# //Calcul des ecarts de 7 jours
# var da = new Date();//Declaration de nos variables
# var djj = ma_date.getDate();
# var dmo = ma_date.getMonth()+1;
# var dmaa = ma_date.getFullYear();
#
# function calculj()
# {
# diff_djj =  (da.getDate() - djj)-1//le - 1 rajout le jour inclus d'aujourd'hui
# return diff_djj;
# }
#
# function calculm()
# {
# diff_dmo =  (da.getMonth()+1) - dmo;//Calcule le nombre de mois d'ecart entre la date de l'ordinateur et la date utilisateur
# return diff_dmo;
# }
#
# function calcula()
# {
# diff_dmaa =  (da.getFullYear() - dmaa)*-1;//Calcule le nombre d'annee d'ecart entre la date de l'ordinateur et la date utilisateur
# return diff_dmaa;
# }
#
#
# if(calculj()<=0)
# {
# pb1 = calculj()*-1;//Ici est definit l'ecart de 7 jours dans un mois
# if(pb1<=7 && calculm()==0 && calcula()==0)
# {
# alert("Délais de Temps trop court. Pour une commande à moins de 7 jours du départ nous vous demandons de nous concter par téléphone. Merci de votre compréhension" );
# return false;
# }
# }
#
# for(m=0;m<=12;m++)//Permet de cree une boucle des 12 mois de l'annee
# {
# pb1 = calculj()*-1;
# if(pb1<=7 && calculm()<=m)
# {
# }
# }
#
# //Gestion des mois de 31 Jours si ecart de 7 jour sur le mois suivant
# if(calculj()<32 && calculj()>24 && djj=1 || djj=2 || djj=3 || djj=4 || djj=5 || djj=6)
# {
# alert("Délais de Temps trop court. Pour une commande à moins de 7 jours du départ nous vous demandons de nous concter par téléphone. Merci de votre compréhension" );
# return false;
# }
#
# //Gestion des mois de 30 Jours si ecart de 7 jour sur le mois suivant
# if(calculj()<31 && calculj()>23 && djj=1 || djj=2 || djj=3 || djj=4 || djj=5 || djj=6 || djj=7)
# {
# alert("Délais de Temps trop court. Pour une commande à moins de 7 jours du départ nous vous demandons de nous concter par téléphone. Merci de votre compréhension" );
# return false;
# }
#
# //Gestion des mois de 30 Jours si ecart de 7 jour sur le mois suivant
# if(calculj()<31 && calculj()>23 && djj=1 || djj=2 || djj=3 || djj=4 || djj=5 || djj=6 || djj=7)
# {
# alert("Délais de Temps trop court. Pour une commande à moins de 7 jours du départ nous vous demandons de nous concter par téléphone. Merci de votre compréhension" );
# return false;
# }
#
# //Gestion de l'année bisextil si ecart de 7 jour sur le mois suivant
# if(calculj()<30 && calculj()>22 && djj=1 || djj=2 || djj=3 || djj=4 || djj=5 || djj=6 || djj=7 || djj=8)
# {
# alert("Délais de Temps trop court. Pour une commande à moins de 7 jours du départ nous vous demandons de nous concter par téléphone. Merci de votre compréhension" );
# return false;
# }
#
# //Gestion de fevrier si ecart de 7 jour sur le mois suivant
# if(calculj()<29 && calculj()>21 && djj=1 || djj=2 || djj=3 || djj=4 || djj=5 || djj=6 || djj=7 || djj=8 || djj=9)
# {
# alert("Délais de Temps trop court. Pour une commande à moins de 7 jours du départ nous vous demandons de nous concter par téléphone. Merci de votre compréhension" );
# return false;
# }
#
# //Calcule des 90 jours pour l'annee civil en cours
# var mois=calculm()*-1;
# if(mois==1 && calcula()==0)//Verifie la condition que le nombres de mois soutrait est de 1 et l'anne civil et l'anne actuelle.
# {
# var ecartz = (calculj()*-1)+30*1;//On ajout 30 jours du mois de la date de depart
# if(ecartz>91)
# {
# alert("Le coupon du Jr Pass n'est valable que 90 jours après sa date d'achat. Veuillez renouveler votre demande ultérieurement." );
# return false;
# }
# }
#
# if(mois==2 && calcula()==0)
# {
# var ecarta = (calculj()*-1)+30*2;
# if(ecarta>91)
# {
# alert("Le coupon du Jr Pass n'est valable que 90 jours après sa date d'achat. Veuillez renouveler votre demande ultérieurement." );
# return false;
# }
# }
#
# if(mois==3 && calcula()==0)
# {
# var ecartb = (calculj()*-1)+30*3;
# if(ecartb>91)
# {
# alert("Le coupon du Jr Pass n'est valable que 90 jours après sa date d'achat. Veuillez renouveler votre demande ultérieurement." );
# return false;
# }
# }
#
# if(mois==4 && calcula()==0)
# {
# var ecartc = (calculj()*-1)+30*4;
# if(ecartc>91)
# {
# alert("Le coupon du Jr Pass n'est valable que 90 jours après sa date d'achat. Veuillez renouveler votre demande ultérieurement." );
# return false;
# }
# }
#
# if(mois==5 && calcula()==0)
# {
# var ecartd = (calculj()*-1)+30*5;
# if(ecartd>91)
# {
# alert("Le coupon du Jr Pass n'est valable que 90 jours après sa date d'achat. Veuillez renouveler votre demande ultérieurement." );
# return false;
# }
# }
#
# if(mois==6 && calcula()==0)
# {
# var ecarte = (calculj()*-1)+30*6;
# if(ecarte>91)
# {
# alert("Le coupon du Jr Pass n'est valable que 90 jours après sa date d'achat. Veuillez renouveler votre demande ultérieurement." );
# return false;
# }
# }
#
# if(mois==7 && calcula()==0)
# {
# var ecartf = (calculj()*-1)+30*7;
# if(ecartf>91)
# {
# alert("Le coupon du Jr Pass n'est valable que 90 jours après sa date d'achat. Veuillez renouveler votre demande ultérieurement." );
# return false;
# }
# }
#
# if(mois==8 && calcula()==0)
# {
# var ecartg = (calculj()*-1)+30*8;
# if(ecartg>91)
# {
# alert("Le coupon du Jr Pass n'est valable que 90 jours après sa date d'achat. Veuillez renouveler votre demande ultérieurement." );
# return false;
# }
# }
#
# if(mois==9 && calcula()==0)
# {
# var ecarth = (calculj()*-1)+30*9;
# if(ecarth>91)
# {
# alert("Le coupon du Jr Pass n'est valable que 90 jours après sa date d'achat. Veuillez renouveler votre demande ultérieurement." );
# return false;
# }
# }
#
# if(mois==10 && calcula()==0)
# {
# var ecarti = (calculj()*-1)+30*10;
# if(ecarti>91)
# {
# alert("Le coupon du Jr Pass n'est valable que 90 jours après sa date d'achat. Veuillez renouveler votre demande ultérieurement." );
# return false;
# }
# }
#
# if(mois==11 && calcula()==0)
# {
# var ecarj = (calculj()*-1)+30*11;
# if(ecartj>91)
# {
# alert("Le coupon du Jr Pass n'est valable que 90 jours après sa date d'achat. Veuillez renouveler votre demande ultérieurement." );
# return false;
# }
# }
#
# if(calculm()==11 && calcula()==1)
# {
# var ecartaa = (calculj()*-1)+30*1;
# return ecartaa;
# if(ecartaa>91)
# {
# alert("Le coupon du Jr Pass n'est valable que 90 jours après sa date d'achat. Veuillez renouveler votre demande ultérieurement." );
# return false;
# }
# }
#
# if(calculm()==10 && calcula()==1)
# {
# var ecartbb = (calculj()*-1)+30*2;
# return ecartbb;
# if(ecartbb>91)
# {
# alert("Le coupon du Jr Pass n'est valable que 90 jours après sa date d'achat. Veuillez renouveler votre demande ultérieurement." );
# return false;
# }
#
# }
#
# if(calculm()==9 && calcula()==1)
# {
# var ecartcc = (calculj()*-1)+30*3;
# return ecartcc;
# if(ecartcc>91)
# {
# alert("Le coupon du Jr Pass n'est valable que 90 jours après sa date d'achat. Veuillez renouveler votre demande ultérieurement." );
# return false;
# }
# }
# }

35 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
17 déc. 2010 à 13:16
ce qui frappe le plus c'est ta constance dans l'erreur
 //Gestion des mois de 31 Jours si ecart de 7 jour sur le mois suivant
if(calculj()<32 && calculj()>24 && djj=1 || djj=2 || djj=3 || djj=4 || djj=5 || djj=6)
 {
  alert("Délais de Temps trop court. Pour une commande à moins de 7 jours du départ nous vous demandons de nous concter par téléphone. Merci de votre compréhension" );
  return false;
}
TOUJOURS le PROBLEME avec et, change de méthode en utilisant <
exemple
 djj 1 || djj 2 || djj == 3 || djj == 4 || djj == 5 || djj == 6
équivalent à
(djj > 0) && (djj < 7)
mais pas sur de voir ou tu veux en venir

une autre chose pourquoi ne pas affecter à un variable le résultat d'une fonction que tu appelles plusieurs fois sans paramètre
exemple
  function calcula() {
    diff_dmaa = (da.getFullYear() - dmaa) * -1; //Calcule le nombre d'annee d'ecart entre la date de l'ordinateur et la date utilisateur
    return diff_dmaa;
  }
devient
//Calcule le nombre d'annee d'ecart entre la date de l'ordinateur et la date utilisateur
var calcula = (da.getFullYear() - dmaa) * -1; // plus compact et plus clair
;O)
0
momosan77 Messages postés 47 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 19 décembre 2011
17 déc. 2010 à 13:48
Merci pour tout ^^
Je veut en faite que si il y est un décalage de 7 jours entre une date d'achat et une date dde départ le formulaire ce bloque.
Sauf que 31 du mois janvier moins le 1er de février fait 30 donc pour la soustraction c'est supérieur a 7
0
momosan77 Messages postés 47 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 19 décembre 2011
17 déc. 2010 à 14:19
J'essaie ce calcule mais il ne le prend pa en compte pourquoi?
//Calcul des ecarts de 7 jours
var da = new Date();//Declaration de nos variables
var djj = ma_date.getDate();
var dmo = ma_date.getMonth()+1;
var dmaa = ma_date.getFullYear();
var calculj =  (da.getDate() - djj)-1//le - 1 rajout le jour inclus d'aujourd'hui
var calculm =  (da.getMonth()+1) - dmo;//Calcule le nombre de mois d'ecart entre la date de l'ordinateur et la date utilisateur
var calcula =  (da.getFullYear() - dmaa)*-1;//Calcule le nombre d'annee d'ecart entre la date de l'ordinateur et la date utilisateur
if(calcuj<0)
{
var jours=calculj*-1
alert(calculj);
if(jours<8)
{
alert("Délais de Temps trop court. Pour une commande à moins de 7 jours du départ nous vous demandons de nous concter par téléphone. Merci de votre compréhension");
return false;
}
}
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
17 déc. 2010 à 14:38
mauvais raisonnement que tu suis pour le calcul
reprend ce que je t'ai proposé lors de ton message précédent à savoir
//----------------------------------------------------
// new Date(annee,mois,jour,heures,minutes,secondes);
// avec mois de 0 à 11
//----------------------------------------------------
var msJour = 24*60*60*1000;
var D_Deb  = new Date( 2010, 0, 31, 0, 0, 0);
var D_Fin  = new Date( 2010, 1,  1, 0, 0, 0);
var nbJour = (D_Fin -D_Debut) /msJour;
alert( nbJour);


;O)
0

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

Posez votre question
momosan77 Messages postés 47 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 19 décembre 2011
17 déc. 2010 à 14:43
Le problème est le même il n'affiche strictement rien...
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
17 déc. 2010 à 14:53
ERREUR sur une variable, il faut écrire
var nbJour = (D_Fin -D_Deb) /msJour;

;O)
0
momosan77 Messages postés 47 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 19 décembre 2011
17 déc. 2010 à 14:57
Le nombres s'affiche seulement si je retire le true du

if(ma_date.getFullYear()==date_temp[2] && ma_date.getMonth()==date_temp[1] && ma_date.getDate()==date_temp[0])
#         {
#         }
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
17 déc. 2010 à 15:07
là j'ai du mal a suivre, le calcul de l'écart du nombre de jours fonctionne t-il comme tu le veux?

;O)
0
momosan77 Messages postés 47 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 19 décembre 2011
17 déc. 2010 à 15:14
Pas vraiment lol, j'essaie quelque chose...
En faite il n'alerte pas du résultat...
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
17 déc. 2010 à 15:20
En faite il n'alerte pas du résultat...
il reste donc des erreurs dans ton code, fait tourner la fonction à part et regarde le résultat

pendant qu'on y est, pour ta fonction de vérification de cohérence de adte, il vaut mieux simplifier l'écriutr pour plus de lisibilité
exemple
if (( ma_date.getFullYear() != date_temp[2]) ||
    ( ma_date.getMonth()    != date_temp[1]) ||
    ( ma_date.getDate()     != date_temp[0])){
    alert( szTitre +'DATE non valide!\nVeuillez Entrer une Date Valide au format JJ/MM/AAAA\');		
    return false;		
}

;O)
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
17 déc. 2010 à 15:21
à la relecture je m'aperçois que j'ai les doigts qui s'engourdissent, 10001 excuses
;O)
0
momosan77 Messages postés 47 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 19 décembre 2011
17 déc. 2010 à 15:25
Pas de probleme Merci pour ton aide ^^
0
momosan77 Messages postés 47 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 19 décembre 2011
17 déc. 2010 à 15:35
Probleme c'est que ce if valide même si la case est vide...
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
17 déc. 2010 à 15:41
il va de soit qu'il faut vérifier en premier que la date n'est pas vide, et ce dès que tu as récupéré la valeur du champ du formulaire.

;O)
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
17 déc. 2010 à 15:53
je viens d'extraire un morceau de ton code et le test se fait via la regExp, donc une autre erreur ou une mauvaise écriture de la condition.
;O)
0
momosan77 Messages postés 47 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 19 décembre 2011
17 déc. 2010 à 15:57
Ok donc faut que je recherche ou est l'erreur...
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
17 déc. 2010 à 16:06
Ok donc faut que je recherche ou est l'erreur
c'est une évidence, si erreur est présente tout ton code, sauf sous Chrome apparemment, est shunté
Regarde du côté de la console d'erreurs, par exemple sous FireFox.

@TheBultez : mais ou est donc ton super tableau ?
;O)
0
momosan77 Messages postés 47 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 19 décembre 2011
17 déc. 2010 à 16:10
Ok je ferais ^^
0
momosan77 Messages postés 47 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 19 décembre 2011
17 déc. 2010 à 16:15
Erreur : i1 is not defined
Fichier Source : http://127.0.0.1:8888/SITE%20JR/commander2.php
Ligne : 33
Voila l'erreur de firefox...
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
17 déc. 2010 à 16:20
tu retombes sur les erreur image que je t'avais signalé sur ton premier message, voir ma deuxième réponse...
IE et Mozzila Firefox n'active pas mon javascript de mon formulaire

;O)
0
Rejoignez-nous