Bonjour,
Je construis actuellement une barre de navigation pour un calendrier.
]
On clique sur un mois et il s'affiche dans le calendrier, bref un truc banal.
J'utilise une fonction qui d'abord atteint l'ID (JAN, FEB, MAR, etc...) pour y ins�rer un Onclick pour d�clencher un script qui se nomme chargeCal
Le script chargeCal contient deux arguments la valeur du mois (01, 02 ,03 etc..) et l'ann�e en cours
Le onclick renvoie donc par exemple chargeCal(01,2014) et � partir de l� le calendrier se construit.
Mais ma fonction qui g�n�re le onclick interpr�te bizarrement la r�ponse JSON
Pour l'exemple j'ai construit la fonction avec les 3 premier mois, donc une boucle toute b�te avec comme compteur countMONTH <4
Le r�sultat est curieux :
Les trois onclick sont bien construit (Tous les ID ont bien �t� cibl�s), mais quand je clique sur les boutons le lien me renvoie toujours sur le mois qui correspond � la derni�re valeur de la boucle FOR
Donc je devrais avoir
ChargeCal(01,2015)
ChargeCal(02,2015)
ChargeCal(03,2015)
Mais j'ai :
ChargeCal(03,2015)
ChargeCal(03,2015)
ChargeCal(03,2015)
Bon, je suis certain que c'est une erreur de Noob de d�butant, mais � force de retourner le code dans tous les sens, je ne vois plus o� est l'erreur.
Merci d'avance
P.S : j'ai deux fois le m�me ID car j'utilise Boostrap en responsive
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 ***************************************** **********Le code de la fonction************* ***************************************** function navbarMONTH(arg) { var datas = eval('(' + arg + ')') var jsonMONTH = { "a1": "JAN", "a2": "FEB", "a3" : "MAR", "b1": "01", "b2" : "02", "b3" : "03" } for (var countMONTH = 1; countMONTH < 4; countMONTH++) { var buttonMONTH = document.querySelectorAll('#' + jsonMONTH['a' + countMONTH]) varMONTH = jsonMONTH['b' + countMONTH] var nb_buttonMONTH = buttonMONTH.length for (var i = 0; i < nb_buttonMONTH; i++) { buttonMONTH[i].onclick = function () { eval('chargeCal(' + varMONTH + ',' + datas.year + ')') } } } }
Partager