如何在不定义变量的情况下获取CodeMirror值?

时间:2014-11-19 15:25:39

标签: javascript php jquery ajax codemirror

我在我的页面上使用了多个CodeMirror区域,我在js中定义它们是这样的:

function editor(id){
  CodeMirror.fromTextArea(document.getElementById(id), {
    lineNumbers: false,
    styleActiveLine: true,
    matchBrackets: true
  });
}

后来我在我的textareas上调用了这个函数 -

$j = 0;
while($row = mysql_fetch_array($formulas))
{
  echo "
  <textarea id='code".$j."'>;some code</textarea>
  --not important code--
  <script>editor('code".$j."');</script>";
  $j++;
}

以后,根据本网站的一些解决方案,我将部分我的CodeMirrors刷新,因为将它们放在这样的隐藏div中

setTimeout(function() {
  $('.my-hidden-div .CodeMirror').each(function(i, el){
      el.CodeMirror.refresh();
  });

现在我需要通过单击同一行中的按钮获取我的CodeMirrors块的值并通过AJAX发送它们但是出现问题。

如何使用$(this).closest('tr')人来获取它们的价值? 对我来说,将CodeMirror定义为变量非常重要,因为我已经支持动态删除和添加新的CodeMirrors textareas。但无论如何,如果我这样做,我得到一个错误,即js无法识别我的变量,这是在其他js函数中定义的,并且它不是全局变量。帮助我们,祝你们度过愉快的一天。问候。

1 个答案:

答案 0 :(得分:1)

您已经用来调用refresh,访问DOM节点上的CodeMirror属性,也可以用来调用getValue