Bonjour à tous,
J'ai un formulaire en back-office avec un textarea dans lequel je souhaite colorer les balises html.
J'utilise pour cela CodeMirror, mais du coup ça bloque deux autres fonctionnalités : un compteur de mots et un script wysiwyg pour afficher des boutons de mise en forme.
Voici le code de mon formulaire avec le script de CodeMirror :
Je me doute que le conflit vient du fait que le textarea ne sert plus comme avant, il est remplacé par un autre inclus dans une iframe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 echo "<p>Texte :</p><div class='typo'><script type=\"text/javascript\">edToolbar('texte');</script></div>"; echo "<textarea cols='110' rows='40' name='texte' id='texte' onkeyup='Compter(this.form.texte.value, this.form)' required>$texte</textarea><br>"; <script type="text/javascript"> var editor = CodeMirror.fromTextArea('texte', { height: "800px", parserfile: "parsexml.js", stylesheet: "css/xmlcolors.css", path: "js/", continuousScanning: 500, lineNumbers: false }); </script>
J'ai doute essayé de retoucher le code de l'éditeur :
Sans succès. Cela me rajoute bien l'id dans le textarea généré, mais pas le onkeyup. Quelqu'un aurait-il une petite piste ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 var div = this.wrapping = createHTMLElement("div"); div.style.position = "relative"; div.className = "CodeMirror-wrapping"; div.style.width = options.width; div.style.height = (options.height == "dynamic") ? options.minHeight + "px" : options.height; // This is used by Editor.reroutePasteEvent var teHack = this.textareaHack = createHTMLElement("textarea"); div.appendChild(teHack); teHack.style.position = "absolute"; teHack.style.left = "-10000px"; teHack.style.width = "10px"; teHack.tabIndex = 100000; teHack.id = "texte"; teHack.onkeyup = "Compter(this.form.texte.value, this.form)";
Merci d'avance de vos bonnes idées.
Partager