Bonjour,
Je développe une application de gestion des horaires. Dès lors, comme des personne travaille le WE, je dois mettre en évidence les horaires des personnes qui travaille le WE.

Pour cela j'ai développé cette fonction JS :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
 
function verifCouleur(){
	var idArray = [];
	var elements = document.getElementsByName('idPersonneSelected') ;
 
	var dateAujourdhuiVar = dojo.widget.byId("dateModif").getDate();
	xx(dojo.widget.byId("dateModif").getDate());
 
	var jourdhui=new Date();
	var jour=xx(jourdhui.getDate());
	var mois=xx(jourdhui.getMonth()+1);
	var an=xx(jourdhui.getFullYear());
 
	var dateAujourdhuiValue = jour+'-'+mois+'-'+an;
	//alert("dateAujourdhui : "+dateAujourdhuiValue);
 
		for (var i=0, n=elements.length; i<n; i++){
			alert("nb : "+elements.length);
		idArray.push(elements.value);
		var idPersonne = elements[i].value;
		var variableNbHeureAfaire = "nbHeureAfaire_"+idPersonne;
		var nbHeureAFaire = document.forms["createForm"].elements[variableNbHeureAfaire].value;
		//alert("nbHeureAFaire : "+nbHeureAFaire);
 
		var variableNbHeureFaite = 'nbHeureFaite_'+idPersonne;
		var nbHeureFaite = document.forms["createForm"].elements[variableNbHeureFaite].value;
		//alert("nbHeureFaite : "+nbHeureFaite);
 
		var div_res = 'div_nbHeureFaite_'+idPersonne;
 
		if(nbHeureFaite == null){
			document.getElementById(div_res).innerHTML== "00:00 heure";
		}
 
		if(nbHeureAFaire != nbHeureFaite){
			//alert("Valzue non égale");
			document.getElementById(div_res).style.color = "red";
		} else{
			document.getElementById(div_res).style.color = "black";
		}
 
 
		//Pour mettre en évidence les heure travailler le Week and
		var horaireSamedi = "divHoraireModif6_"+idPersonne;
		var horaireDimanche = "divHoraireModif7_"+idPersonne;
 
		if(document.getElementById(horaireSamedi) != null){
			document.getElementById(horaireSamedi).style.backgroundColor = "#EDAA44";
 
		}
		if(document.getElementById(horaireDimanche) != null){
			document.getElementById(horaireDimanche).style.backgroundColor = "#EDAA44";
 
		}
		//Pour mettre en couleur si les horaires ont été modifié
		 for(n=1; n<8; n++) {
 
				var divHoraire = "divHoraireModif"+n+"_"+idPersonne; // pour savoir l'horaire de travail de la personne
				var varModifJour = "ModifJour"+n+"_"+idPersonne; //Pour savoir si l'horaire a été modificie
				var dateJour = "jour"+n;
				var divDemiAbs = "divDemiAbsenceModif"+n+"_"+idPersonne;
				var divAbs = "divAbsenceModif"+n+"_"+idPersonne;
 
				var divJour = "divJour"+n+"_"+idPersonne;
				var dateJourValue = document.getElementById(dateJour).value;
 
				//alert("dateJourValue : "+dateJourValue);
 
				//Pour mettre en évidence la date d'aujourd'hui
				if(dateAujourdhuiValue == dateJourValue){
					//alert("ICICICICICCI divJour : "+divJour);
 
					document.getElementById(divJour).style.backgroundColor = "#6BD8CA";
					document.getElementById(divDemiAbs).style.color  = "green";
					document.getElementById(divHoraire).style.color  = "green";
					document.getElementById(divAbs).style.color  = "green";
 
				}
 
 
				//alert("valeur : "+document.getElementById(varModifJour).value);
				if(document.getElementById(varModifJour).value == 'oui'){
 
					document.getElementById(divDemiAbs).style.color = "red";
					document.getElementById(divHoraire).style.color = "red";
					document.getElementById(divAbs).style.color = "red";
				}
 
		}
 
 
	}
 
 
}
Donc mon
Code : Sélectionner tout - Visualiser dans une fenêtre à part
alert("nb : "+elements.length);
me renvoit bien le bon nombre de personne.

J'ai bien un changement de couleur grâce à ce code ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
//Pour mettre en évidence les heure travailler le Week and
		var horaireSamedi = "divHoraireModif6_"+idPersonne;
		var horaireDimanche = "divHoraireModif7_"+idPersonne;
 
		if(document.getElementById(horaireSamedi) != null){
			document.getElementById(horaireSamedi).style.backgroundColor = "#EDAA44";
 
		}
		if(document.getElementById(horaireDimanche) != null){
			document.getElementById(horaireDimanche).style.backgroundColor = "#EDAA44";
 
		}
Toutefois, seule les 8 premières personne de cette liste ont un changement de couleurs ..... Or je ne vois pas où est le pb .../

Pourriez vous m'aider ?