Comment puis-je définir la valeur d'un éditeur CodeMirror en utilisant Javascript?
J'essaie de régler id4
dans le code suivant:
<div id="id1">
<div id="id2">
<div id="id3">
<textarea id="id4"></textarea>
</div>
</div>
</div>
En utilisant ce code:
document.getElementById('id4').value = "...";
Et ceci:
document.getElementById('id3').getElementsByTagName('textarea')[0].value = "...";
Mais rien ne fonctionne.
Mise à jour:
Le textarea
est remplacé par CodeMirror editor. Comment puis-je régler la valeur?
Merci beaucoup pour l'aide!
25
demandé sur
DerpMarine
2011-12-05 01:19:39
4 réponses
La façon de le faire a légèrement changé depuis la sortie de 3.0. C'est maintenant quelque chose comme ceci:
var textArea = document.getElementById('myScript');
var editor = CodeMirror.fromTextArea(textArea);
editor.getDoc().setValue('var msg = "Hi";');
44
répondu
Ken Smith
2014-01-10 22:05:14
J'aime les exemples. Essayez ceci:
CodeMirror.fromTextArea(document.getElementById(id), {
lineNumbers: true
}).setValue("your code here");
7
répondu
Mariz Melo
2012-05-23 08:10:31
CodeMirror ~4.6.0 vous pouvez le faire, en supposant que vous avez un objet codemirror:
var currentValue = myCodeMirrorObject.cm.getValue();
var str = 'some new value';
myCodeMirrorObject.cm.setValue(str);
2
répondu
lfender6445
2015-04-04 23:09:19
Le code que vous avez devrait fonctionner. L'explication la plus probable de cet échec est que les éléments n'existent pas au moment où vous l'exécutez. Si c'est le cas, les solutions sont soit:
- déplacez le JS afin qu'il apparaisse après la création des éléments (par exemple juste avant
</body>
) - retardez l'exécution du JS jusqu'à ce que les éléments aient été créés (par exemple en le déplaçant vers une fonction que vous affectez comme gestionnaire d'événements
onload
)
1
répondu
Quentin
2011-12-04 21:37:48