Bonjour tout le monde !
Alors tout d'abord j'ai un problème qui n'apparaît que sur IE. En effet sur Firefox, pas de soucis.
Alors en fait, j'ai donc intégrer un composant calendrier dans ma page asp via le fichier gnoocalendar.js qui permet de créer des calendriers en javascript.
Sur Firefox, comme je l'ai dit, pas de soucis, je peux cliquer sur mon image qui m'affiche un beau calendrier généré dynamiquement via ce fichier javascript.
Alors le problème survient lors du clic sur mon image qui est censé afficher le calendrier via la méthode this.show().
En débuguant ce que j'ai pu via des alerts, j'ai remarqué que l'erreur venait de la ligne du <form> et du </form>. Je les avais donc commenté afin de voir si ça venait bien de là => Problème car lors du changement de mois ou d'année, ouverture d'un nouveau calendrier, ce que je ne veux bien évidemment pas.
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 /* * GnooCalendar.show() * affiche le calendrier */ this.show = function() { this.vis = true; this.tag = "<form name='"+this.name+"_form' method='post'>\n"; this.tag += this.mList(); this.tag += "</form>\n"; if(document.layers) { with(document.layers[this.div])// { document.open("text/html"); document.write(this.tag); document.close(); visibility='show'; document.getElementById(this.div).style.left = this.target.offsetWidth + this.GetLeft() + 'px'; document.getElementById(this.div).style.top = this.target.offsetHeight + this.GetTop() + 'px'; document.getElementById("framecalend").style.left = this.target.offsetWidth + this.GetLeft() + 'px'; document.getElementById("framecalend").style.top = this.target.offsetHeight + this.GetTop() + 'px'; document.getElementById("framecalend").style.visibility = 'visible'; } } else { document.getElementById(this.div).innerHTML = ""+this.tag; document.getElementById(this.div).style.visibility = 'visible'; document.getElementById(this.div).style.display = 'block'; document.getElementById(this.div).style.left = this.target.offsetWidth + this.GetLeft() + 'px'; document.getElementById(this.div).style.top = this.target.offsetHeight + this.GetTop() + 'px'; document.getElementById("framecalend").style.left = this.target.offsetWidth + this.GetLeft() + 'px'; document.getElementById("framecalend").style.top = this.target.offsetHeight + this.GetTop() + 'px'; document.getElementById("framecalend").style.visibility = 'visible'; } return; }
Si vous voulez voir à quoi ressemble le calendrier et le code associé (le même que le mien finalement), vous tapez gnoocalendar sur google.
J'ai regardé sur le net et a priori, cela viendrait d'un problème entre les balises <form> et l'innerHTML après.
Avez-vous déjà rencontré ce problème ? Avez-vous une solution ou une piste pour le corriger car là, je commence à péter un cable ^^ !
Merci d'avance.
Partager