Script incomplet...
mimine66
Messages postés
4
Statut
Membre
-
mimine66 Messages postés 4 Statut Membre -
mimine66 Messages postés 4 Statut Membre -
Bonjour,
Je veux souhaiter l'anniversaire sur le site de l'association aux membres inscrits (site en construction).
Mais je suis débutant en ce qui concerne les scripts.
J'en ai pourtant trouvé un qui me convient et qui fonctionne parfaitement...Sauf que...
Quand il y a deux dates anniversaires le même jour le script ne m'en affiche qu'une...
Si quelqu'un avait la gentillesse de vouloir m'aider à modifier ce script je lui en serais éternellement reconnaissant.
Je veux bien apprendre par l'exemple.
Aussi, si vous vouliez me faire un exemple avec 3 ou 4 noms pour que je vois comment ça fonctionne...
Merci d'avance pour votre aide si précieuse.
Ci-dessous le script.
@+
-----------------------------
<script language="javascript" type="text/javascript">
// variable vide au départ
var sText = "";
var today = new Date;
var mois_actuel = today.getMonth() +1;
var jour_actuel = today.getDate();
// affectation suivant les anniversaires
if( mois_actuel == 5 && jour_actuel == 3) { sText = "Flavie"; }
if( mois_actuel == 5 && jour_actuel == 17) { sText = "Aymeric"; }
if( mois_actuel == 6 && jour_actuel == 1) { sText = "Sabine"; }
if( mois_actuel == 6 && jour_actuel == 13) { sText = "Victor"; }
if( mois_actuel == 6 && jour_actuel == 13) { sText = "Tanguy"; }
if( mois_actuel == 6 && jour_actuel == 26) { sText = "Gérard"; }
if( mois_actuel == 6 && jour_actuel == 26) { sText = "Jérôme"; }
</script>
<div align="center"><strong>
<script language="javascript" type="text/javascript">
if( sText.length){ document.write( "Bon anniversaire " +sText +" !"); }
else{ document.write("Pas d'anniversaire aujourd'hui !"); }
</script>
</strong></div>
Je veux souhaiter l'anniversaire sur le site de l'association aux membres inscrits (site en construction).
Mais je suis débutant en ce qui concerne les scripts.
J'en ai pourtant trouvé un qui me convient et qui fonctionne parfaitement...Sauf que...
Quand il y a deux dates anniversaires le même jour le script ne m'en affiche qu'une...
Si quelqu'un avait la gentillesse de vouloir m'aider à modifier ce script je lui en serais éternellement reconnaissant.
Je veux bien apprendre par l'exemple.
Aussi, si vous vouliez me faire un exemple avec 3 ou 4 noms pour que je vois comment ça fonctionne...
Merci d'avance pour votre aide si précieuse.
Ci-dessous le script.
@+
-----------------------------
<script language="javascript" type="text/javascript">
// variable vide au départ
var sText = "";
var today = new Date;
var mois_actuel = today.getMonth() +1;
var jour_actuel = today.getDate();
// affectation suivant les anniversaires
if( mois_actuel == 5 && jour_actuel == 3) { sText = "Flavie"; }
if( mois_actuel == 5 && jour_actuel == 17) { sText = "Aymeric"; }
if( mois_actuel == 6 && jour_actuel == 1) { sText = "Sabine"; }
if( mois_actuel == 6 && jour_actuel == 13) { sText = "Victor"; }
if( mois_actuel == 6 && jour_actuel == 13) { sText = "Tanguy"; }
if( mois_actuel == 6 && jour_actuel == 26) { sText = "Gérard"; }
if( mois_actuel == 6 && jour_actuel == 26) { sText = "Jérôme"; }
</script>
<div align="center"><strong>
<script language="javascript" type="text/javascript">
if( sText.length){ document.write( "Bon anniversaire " +sText +" !"); }
else{ document.write("Pas d'anniversaire aujourd'hui !"); }
</script>
</strong></div>
7 réponses
-
Au lieu de faire 2x une même ligne comme :
if( mois_actuel == 6 && jour_actuel == 13) { sText = "Victor"; }
if( mois_actuel == 6 && jour_actuel == 13) { sText = "Tanguy"; }
Pourquoi ne pas simplement faire :
if( mois_actuel == 6 && jour_actuel == 13) { sText = "Victor & Tanguy"; } -
Voilà:
<head> <script language="javascript" type="text/javascript"> // variables vides au départ var sText = new Array() ; //on met sous forme d'array, ainsi on pourra en empiler plusieurs var texte_a_ecrire=""; var today = new Date; var mois_actuel = today.getMonth() +1; var jour_actuel = today.getDate(); // affectation suivant les anniversaires // sText.push empile la valeur dans l'array if( mois_actuel == 5 && jour_actuel == 3) { sText.push("Flavie"); } if( mois_actuel == 5 && jour_actuel == 17) { sText.push("Aymeric"); } if( mois_actuel == 6 && jour_actuel == 1) { sText.push("Sabine"); } if( mois_actuel == 6 && jour_actuel == 13) { sText.push("Victor"); } if( mois_actuel == 6 && jour_actuel == 13) { sText.push("Tanguy"); } if( mois_actuel == 6 && jour_actuel == 26) { sText.push("Gérard"); } if( mois_actuel == 6 && jour_actuel == 26) { sText.push("Jérôme"); } //on peut mettre cette fonction dans le head, elle est appelée au chargement de la page function ecrire_bon_anniversaire(id_a_ecrire){ //quelques explications if( sText.length > 0){ //si l'array n'est pas vide //on formate le texte en gras texte_a_ecrire+='<strong>'; //par une boucle on parcours cet array for (i=0;i<sText.length;i++){ //si plus d'un anniversaire on rajoute un <br /> pour faire un saut de ligne if(i > 0 ) texte_a_ecrire+=" <br />"; texte_a_ecrire+= "Bon anniversaire " +sText[i] +" !"; } texte_a_ecrire+='</strong>'; }else{ texte_a_ecrire+="Pas d'anniversaire aujourd'hui !"; } //on ecrit dans le div atteint par son id document.getElementById(id_a_ecrire).innerHTML=texte_a_ecrire; } </script> <head> <body onload="javascript:ecrire_bon_anniversaire('div_anniversaire');"> <div align="center" id="div_anniversaire" ><strong> </strong></div> </body>
Mais avec la methode que tu as choisie, il va falloir que tu modifie ton code pour rajouter un nouveau membre à chaque fois, si c'est un site en php avec base de données dans laquelle les mebres osnt inscrits, ce serait beaucoup plus facile de faire cela en php au moment de l'affichage de la page -
Merci pour la réactivité de votre réponse...
C'est super génial.
Pour le moment je préfère rester sur ce script, quitte à rajouter manuellement les adhérents.
Juste une petite remarque, il semblerait qu'il y ait un affichage qui se chevauche et rend illisible le message !!!
J'ai essayé de bouger quelques lignes ici et là sans succés...
Pouvez-vous m'aider ?
Merci infiniment et pardon pour le dérangement.
Amitiés informatiques. -
Autant pour moi, j'avais superposé 2 fenêtres d'affichage...
Par contre il m'affiche 13 fois le message ci-dessous !!!
Bon anniversaire undefined !
@+ -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Alors;
var sText = [];
if( mois_actuel == 5 && jour_actuel == 3) { sText = ["Flavie"]; }
...
if( mois_actuel == 6 && jour_actuel == 13) { sText = ["Victor", "Tanguy"]; }
...
if( sText.length){
for (i =0; i<sText.length; i++)
document.write( "Bon anniversaire " +sText[i] +" !"); }
else{ document.write("Pas d'anniversaire aujourd'hui !"); } -
bizarre tu as du oublier qq chose, car chez moi ça fonctionne, sous Firefox et IE, j'ai bien:
Bon anniversaire Gérard !
Bon anniversaire Jérôme ! -
Je ne sais pas pourquoi mais le premier listing fonctionne maintenant !!!
Merci infiniment pour votre aide.
Cordialement