Salut!

J'essaie pour la première fois de créer un objet javascript.
Je suis au courant que la POO n'est pas vraiment applicable à ce language de prog, je n'essaie pas de réinventer la lune, mais je voulais pouvoir quand-même instancier un objet et faire appel à une de ses méthodes.

voici mon 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
function suggestionBox(nbrItems, divElement, targetTextBox) {
 
	alert(nbrItems);	
 
	this.nbrItems=nbrItems;
	this.divElement=divElement;
	this.targetTextBox=targetTextBox;
	this.curPointer=0;
	this.selectionPointer=0;
 
	function addSuggestion(name) {
		alert('salut');
		if (curPointer<nbrItems) {
			curPointer++;
			this.divElement.innerHTML+="<div id='suggestion"+curPointer+"' class='option'>"+name+"</div>";
		}
	}
 
	function moveUpSelection() {
		if (selectionPointer>1) {
			selectionPointer--;
			document.getElementById("suggestion"+selectionPointer).class='selectedoption';
		}
	}
 
	function moveDownSelection() {
		if (selectionPointer<nbrItems) {
			selectionPointer++;
			document.getElementById("suggestion"+selectionPointer).class='selectedoption';
		}
	}
 
	function clear() {
		this.divElement.innerHTML="";
		this.curPointer=0;
	}
 
	function show() {
		alert('test');
		this.divElement.style.display='block';
	}
 
	function hide()  {
		this.divElement.style.display='none';
	}
}
J'ai ensuite fait une page de test ou j'inclus toutes les références nécessaires.

et je mets le code suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<div id='mySuggestionDiv' class='suggestion' style='display:none'></div>
			<input type='text' name='myTextBox' id='myTextBox' onKeyPress="mySugBox.show();alert('bonjour');"/>
			<script language='JavaScript'>
				var mySugBox;
				mySugBox=new suggestionBox(5, document.getElementById('mySuggestionDiv'),  document.getElementById('myTextBox'));
				alert('part1');
				mySugBox.show();
				alert('ok');
			</script>
Le proglème, c'est que j'ai le message "part1" mais pas "ok".
En fait, la méthode show() ne s'exécute pas....
pourquoi???

merci d'avance