Bonjour à tous,
j'ai fais une fonction pour remplacer des abréviations par leur expressions équivalentes en javascript. Cette fonction est utilisée onkeyup.
Elle fonctionne très bien sur un textarea nu.
Le souci est lorsqu'il est habillé du plugin ckeditor. En fait la rien ne va plus.
voici déjà la fonction:
donc ici le trouble intervient avec ckeditor. Par exemple le mot tel qui devrais donner téléphone fonctionne bien sans le ckeditor.
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 <script type="text/javascript"> var abbreviations = { <?php $rqt="SELECT * FROM `glossaire` WHERE `id_company` ='".$societe['id']."'"; $result=mysql_query($rqt); while($data=mysql_fetch_assoc($result)) {?> "<?php echo ($data['libelle']) ; ?>": "<?php echo ($data['texte']) ; ?>", <?php } ?> }; function abbrReplace(el, abbrs) { if (!el || !abbrs) { return false; } else { var val = el.value, words = val.split(/\s/); for (var i = 0, len = words.length; i<len; i++) { if (abbrs[words[i]]) { words[i] = abbrs[words[i]]; } } return words.join(' '); } } document.getElementById("suivi").onkeyup = function(){ this.value = abbrReplace(this, abbreviations); }; </script>
Je sais que ckeditor utilise ses propres instances pour insérer du texte du coup j'ai essayé comme cela:
Mais bon rien ni fait,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 document.getElementById("suivi").onkeyup = function(){ this.value = CKEDITOR.instances.commentaire.insertText('abbreviations');
je présume que je dois faire quelque chose en mal mais je ne sais pas le résoudre.
Toute forme d'aide sera grandement appréciée.
Bien à vous.
SP.
Partager