Bonjour,
Mon probléme est un probléme de portée d'une variable.
mon codeLe soucis vient de l'attibut this.idImage
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 // classe qui manipule l'objet bbcode insertion d'image ,de liens dans le contenu et autre // le constructeur de l'objet de type classObjectBBcode function classObjectBBcode(imageTag,lienTag,idImage){ this.imageTag=imageTag; this.lienTag = lienTag; this.idImage=idImage ; } //méthode qui affiche un formulaire d'upload et qui créé un tag qui sera //inséré via une autre méthode dans le contenu d'un textarea classObjectBBcode.prototype.showUpload=function(){ var im1 = document.images[0]; im1.onclick=function() { var div = document.getElementById("showUpload"); div.style.display = 'block'; var contenu = document.forms[4].elements[3].value; var reg = new RegExp("\[img [0-9]+\]","g"); var tags=contenu.match(reg); var tagImage = "[img "+this.idImage+"]";
si un alert l'affiche dans la méthode showUpload
il reste undefined dans ma fonction anonyme.
une histoire de portée visiblement.même si j'ai résolu le probléme
idImage devient une variable globale mais ce n'est plus un attribut d'objet
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 function classObjectBBcode(imageTag,lienTag,idImageF){ this.imageTag=imageTag; this.lienTag = lienTag; idImage=idImageF ; } classObjectBBcode.prototype.showUpload=function(){ var im1 = document.images[0]; im1.onclick=function() { var div = document.getElementById("showUpload"); div.style.display = 'block'; var contenu = document.forms[4].elements[3].value; var reg = new RegExp("\[img [0-9]+\]","g"); var tags=contenu.match(reg); var tagImage = "[img "+idImage+"]";//résultat à retourner passer en param à l'appelle de smiley
exist il un moyen de récuperer cet atribut sous la forme this.idImage dans ma fonction contenue dans la méthode et qui s'éxécute aprés un click sur une image ? faire qyue le 1er code fonctionne ?
Voici le code appelantautre question
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var objBBcode = new classObjectBBcode(null,null,"<?php echo $idimage; ?>"); objBBcode.showUpload();
Si dans ma méthode showUpload
j'ecris uncomment récupérer tagImage ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part return this.tagImage
avec un code apellant typene renvoit rien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 var objBBcode = new classObjectBBcode(null,null,"<?php echo $idimage; ?>"); var varreturn=objBBcode.showUpload(); var divTest = document.getElementById("test"); divTest.innerHTML=varreturn; </script> <div id='test'></div>
merci de m'aider
Partager