Bonjour,

J'ai un éditeur WISIWIG. Il servira à écrire des commandes SQL.
Je souhaite intégrer une coloration syntaxique, au fur et à mesure que l'utlisateur écrit.
Par exemple, si il écrit SELECT ou INSERT ... j'applique une class CSS pour que le mot change de couleur.

Voila la zone de texte :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
<iframe id="editeur" onKeyPress="analyseSyntaxique()"></iframe>
<textarea id="requete" name="requete" style="display:none"></textarea>
Et voila la fonction analyseSyntaxique
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
function analyseSyntaxique() {
  edoc = window.frames['editeur'].document;
  com1 = edoc.body.innerHTML
  var chaine = new String(com1); 
  var com2= chaine.replace("SELECT", "<span class='bleu'>SELECT</span>"); 
  edoc.body.innerHTML = com2;
}
Le problème, c'est que la fonction analyseSyntaxique ne s'éxécute pas sur le onKeyPress.
J'ai testé en mettant alert("test");.
Je n'ai aucun message d'erreur.
Ca ne fonctionne pas nom plus avec onKeyDown, ou onClick, ou onChange.

Avez vous une idée sur l'origine du problème ?

Merci,

Gillou