Ответ 1
Способ сделать это немного изменился с момента выпуска 3.0. Теперь это примерно так:
var textArea = document.getElementById('myScript');
var editor = CodeMirror.fromTextArea(textArea);
editor.getDoc().setValue('var msg = "Hi";');
Я пытаюсь установить id4
в следующем коде:
<div id="id1">
<div id="id2">
<div id="id3">
<textarea id="id4"></textarea>
</div>
</div>
</div>
Используя этот код:
document.getElementById('id4').value = "...";
И это:
document.getElementById('id3').getElementsByTagName('textarea')[0].value = "...";
Но ничего не работает.
textarea
заменяется редактором CodeMirror. Как мне установить для него значение?
Большое спасибо за помощь!
Способ сделать это немного изменился с момента выпуска 3.0. Теперь это примерно так:
var textArea = document.getElementById('myScript');
var editor = CodeMirror.fromTextArea(textArea);
editor.getDoc().setValue('var msg = "Hi";');
Мне нравятся примеры. Попробуйте следующее:
CodeMirror.fromTextArea(document.getElementById(id), {
lineNumbers: true
}).setValue("your code here");
CodeMirror ~ 4.6.0 вы можете сделать это, если у вас есть объект codemirror:
var currentValue = myCodeMirrorObject.cm.getValue();
var str = 'some new value';
myCodeMirrorObject.cm.setValue(str);
Код, который у вас есть, должен работать. Наиболее вероятным объяснением этого является отсутствие элементов во время запуска. Если да, то решения должны быть либо:
</body>
)onload
)Это сработало для моей (довольно старой) версии CodeMirror:
var editor=CodeMirror.fromTextArea('textarea_id');
editor.setCode('your string');