momosan77
Messages postés47Date d'inscriptionlundi 17 mai 2010StatutMembreDernière intervention19 décembre 2011
-
17 déc. 2010 à 12:30
momosan77
Messages postés47Date d'inscriptionlundi 17 mai 2010StatutMembreDernière intervention19 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;
# }
# }
# }
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 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
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
momosan77
Messages postés47Date d'inscriptionlundi 17 mai 2010StatutMembreDernière intervention19 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
momosan77
Messages postés47Date d'inscriptionlundi 17 mai 2010StatutMembreDernière intervention19 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;
}
}
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 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)
Vous n’avez pas trouvé la réponse que vous recherchez ?
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 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;
}
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 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)