如何获取Codemirror textarea的值

时间:2012-04-23 17:30:10

标签: javascript codemirror

我正在使用Codemirror的textarea插件,但我无法检索textarea的值。

代码:

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


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

显示错误:

editor.getCode() is not a function.

5 个答案:

答案 0 :(得分:73)

尝试使用getValue()代替getCode()

将可选参数传入getValue(分隔符)以指定用于分隔行的字符串(默认为\n)。

答案 1 :(得分:26)

这对我来说很好。

editor.getValue()

答案 2 :(得分:1)

这适用于您尝试捕获 CodeMirror 文本区域中返回的文本的 C++ Selenium 实例:

var myText = this.WebDriver.ExecuteJavaScript<string>("return $editor[0].getValue()");

其中[0]为表单中代码镜像文本区域的索引。

答案 3 :(得分:0)

版本:5

根据Documentation,您现在需要这样做:

doc.getValue(?separator: string) → string

因此在此示例中:

editor.getDoc().getValue("\n")

答案 4 :(得分:0)

我知道您正在使用textarea,但我希望这段代码对其他人有用! 我有这个问题,但是带有article标签,这是我使用jquery获取所有代码的解决方案:

res_array = []
$.each($('article.code-draft span[role="presentation"]'), function(){
    res_array.push($(this).text())
});
console.log(res_array.join('\n'))