Probleme de changement de l'arriere plan

reemosh Messages postés 11 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 3 avril 2014 - Modifié par kazma le 31/01/2014 à 12:44
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 31 janv. 2014 à 16:31
Bonjour,
bonjour
je cherche a changer le fond de ma page on cliquant sur un lien , le lien est dynamique il change selon 2 variables mois et annee je travaille avec jsp

voici le code de mon jsp
<%
String annee = (String)session.getAttribute("annee") == null ? "":(String)session.getAttribute("annee");
String mois= (String)session.getAttribute("mois") == null ? "" : (String)session.getAttribute("mois");

LinkedList liste = null;
if(session.getAttribute("list_mois_annee") != null){
liste = (LinkedList)session.getAttribute("list_mois_annee");
}
(LinkedList)session.getAttribute("list_mois_annee");
if(liste == null) liste = new LinkedList();

%>

<li>
<span><%=mois%>/<%=mois%></span>
<ul id="bg_menu">
<%
Iterator itAnnee = liste.iterator();
while(itAnnee.hasNext())
{
HashMap hAnnee = (HashMap)itAnnee.next();
String mois_tmp = (String)hAnnee.get("mois");
String annee_tmp = (String)hAnnee.get("annee");

%>

<li><a href="authentification?mois=<%=mois_tmp%>&annee=<%=annee_tmp%>" target="_self" onclick="changeCouleur(this.couleur)"><%=mois_tmp%> / <%=annee_tmp%></a></li>

<% }%>
les menus sont stocké dans une liste ils semblent à janvier 2014,fevrier 2014....
je cherche lorsque je choisi le lien janvier 2014 le couleur du fond de ma page sera rouge si je choisi fevrier 2014 la couleur change en bleu

j'ai essayer de faire une fonction java script
function changeCouleur(couleur){

if(mois=="janvier" && annee==2014){
document.body.style.backgroundcolor='red';
}
else if(mois=="fevrier" && annee==2014){
document.body.style.backgroundcolor='bleu';
}


}

mais lorsque j'appelle cette fonction rien ne change

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
Modifié par jordane45 le 31/01/2014 à 11:43
Bonjour,


déjà : les balises de code sur ce site c'est avec des "< >" pas des " [ ] "

Ensuite : tu passes en parametre dans ton ONCLICK this.couleur..... Ca n'existe pas !

Essayes ça :

<li><a name="janvier 2014"  onclick="changeCouleur(this.name)">janvier 2014</a></li>
<li><a name="fevrier 2014"  onclick="changeCouleur(this.name)">fevrier 2014</a></li>

<script type="text/javascript">

function changeBackground(color) {
   document.body.style.background = color;
}

function changeCouleur(strDate){
 console.log(strDate);
 //-------------------------------------------- 
 // On coupe la chaine en deux 
 // pour séparer le mois et l'année
    //--------------------------------------------
 var reg=new RegExp(" ", "g");
 var tableau=strDate.split(reg);
 //--------------------------------------------
 var mois = tableau[0];
 var annee = tableau[1];
 //--------------------------------------------
 if(mois=="janvier" && annee=="2014"){
  changeBackground('red');
 }
 else if(mois=="fevrier" && annee=="2014"){
  changeBackground('blue');
 }
}
</script>



Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
31 janv. 2014 à 11:50
Au passage.. voici une autre version utilisant des SWITCH plutot que des IF en pagaille.
Surtout..si comme je l'imagine.. tu vas surement ajouter tous les mois de l'année...


<li><a name="janvier 2014"  onclick="changeCouleur(this.name)">janvier 2014</a></li>
<li><a name="fevrier 2014"  onclick="changeCouleur(this.name)">fevrier 2014</a></li>
<li><a name="mars 2014"  onclick="changeCouleur(this.name)">mars 2014</a></li>

<script type="text/javascript">

function changeBackground(color) {
   document.body.style.background = color;
}

function changeCouleur(strDate){
	console.log(strDate);
	//--------------------------------------------	
	// On coupe la chaine en deux 
	// pour séparer le mois et l'année
    //--------------------------------------------
	var reg=new RegExp(" ", "g");
	var tableau=strDate.split(reg);
	//--------------------------------------------
	var mois = tableau[0];
	var annee = tableau[1];
	//--------------------------------------------
	var couleur="";
	switch (annee) {
	
	case "2014":
		switch(mois){
			case "janvier":
				couleur="red";
				break;
			case "fevrier":
				couleur="blue";
				break;
			case "mars":
				couleur="grey";
				break;
		} // Fin du switch Mois		
		break;
	case "2015":
		//si tu veux gérer 2015..etc..
		break;
	
	}// Fin du switch ANNEE
	
	// On change la couleur :
	changeBackground(couleur);

}
</script>
0
reemosh Messages postés 11 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 3 avril 2014 1
31 janv. 2014 à 13:30
oui mais le menu est dynamique et c'est pas faisable de faire plusieurs <li>

 <li><a href="authentification?mois=<%=mois_tmp%>&annee=<%=annee_tmp%>" target="_self" onclick="changeCouleur(this.couleur)"><%=mois_tmp%> / <%=annee_tmp%></a></li> 
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
31 janv. 2014 à 13:37
moi je l'ai mis en dur pour l'exemple... mais rien n'empeche d'utiliser les variables <%=mois_tmp%> et <%=annee_tmp%> pour créer le/les lien(s).
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
Modifié par jordane45 le 31/01/2014 à 13:39
Je sais pas... tu as écris du code.. et tu bloques sur un si petit détail ??
Dis toi que nous ne fournissons pas nécéssaire le code exacte de ce que tu cherches et que parfois il suffit juste de l'adapter un peu à tes besoins.

Enfin bon.. en gros.. tu dois pouvoir faire un truc du genre :
<li><a name="<%=mois_tmp%> <%=annee_tmp%>"  onclick="changeCouleur(this.name)"><%=mois_tmp%> / <%=annee_tmp%></a></li>
0
reemosh Messages postés 11 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 3 avril 2014 1
31 janv. 2014 à 16:22
merci beaucoup pour l'aide j'ai essayé ça mais le problème lorsque je clique sur un lien la couleur du fond change mais disparu mais mon but c'est de fixer le changement de couleur
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
31 janv. 2014 à 16:31
la couleur du fond change mais disparu

Je ne comprend pas ce que tu veux dire.

mon but c'est de fixer le changement de couleur
Ben..ça te change la couleur de fond de la page en cours....
Mais si tu rafraichis la page... la couleur revient à celle d'origine..normal.
Que veux tu exactement ?
0
Rejoignez-nous