2012-04-23 17 views
44

Używam plugin Codemirror dla textarea, ale nie jestem w stanie pobrać wartość textarea.Jak uzyskać wartość Codemirror textarea

Kod:

var editor = CodeMirror.fromTextArea(document.getElementById("code"), { 
    lineNumbers: true, 
    matchBrackets: true, 
    mode: "text/x-csrc" 
    }); 


function showCode() 
{ 
    var text = editor.mirror.getCode(); 
    alert(text); 
} 

To pokazuje błąd:

editor.getCode() is not a function. 
+1

Co to jest "console.dir (editor.morror)" i "console.dir (editor)" w chrome? – sissonb

Odpowiedz

59

Spróbuj użyć getValue() zamiast getCode().

Przekaż opcjonalny argument do getValue (separator), aby określić ciąg, który będzie używany do rozdzielania linii (domyślnie jest to \n).

+1

Czy istnieje sposób na uzyskanie odwołania do tekstu bez wywoływania getValue()? Ta funkcja jest bardzo powolna, jeśli masz dużo tekstu w edytorze i zablokuje wątek UI. – Gubatron

+0

Czy istnieje różnica między 'cm.getValue()' a 'cm.doc.getValue()'? – 425nesp

22

To działa dobrze dla mnie.

editor.getValue() 
0

użyć your_editor_instace.getValue();

Będzie działać dobrze, ponieważ nie ma funkcji o nazwie o nazwie getCode() w codemirror.

dla ustawienia wartości użyj your_editor_instance.setValue();