Salut,
Soit le petit script suivant qui crée une balise DIV et un gestionnaire d'événement avec onclick. Le souci c'est que dans cette méthode, le this renvoie au DIV et non plus l'objet. Ce qui fait que je ne peux plus accéder aux autres méthodes. Voyer la ligne en rouge dans le code ci-dessous.
Comment appeler la méthode setForm depuis this.div.onclick ?
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 cityObj(name,id) { this.name = name this.id = id this.div = document.createElement("div"); this.div.id = this.id; this.createDiv = function(){ document.getElementById('container').appendChild(this.div); this.div.appendChild(document.createTextNode(name)); } this.div.onclick = function(){ this.setForm() // ne fonctionne pas document.getElementById('newForm').elements[0].focus() } this.setForm = function(){ var content = '<form action="" method="POST" id="newForm">'; content += '<input type="text" name="data_'+this.id+'" value="'+this.name+'" />'; content += '</form>'; this.div.innerHTML = content; } }
Partager