CKEDITOR:从Javascript中的多个实例名称获取数据

CKEDITOR:从Javascript中的多个实例名称获取数据,javascript,ckeditor,Javascript,Ckeditor,因为我在HTML代码中有多个TextArea,所以我通过Javascript传递id值来检索每个TextArea中的数据。但是,在JS函数中,“CKEDITOR.instances.id”并不像预期的那样表示,例如CKEDITOR.instances.editor_1、CKEDITOR.instances.editor_2或CKEDITOR.instances.editor_4,因此,我没有检索到任何数据。谁知道怎么解决这个问题,请告诉我。一大堆的感谢 HTML代码: <texta

因为我在HTML代码中有多个TextArea,所以我通过Javascript传递id值来检索每个TextArea中的数据。但是,在JS函数中,“CKEDITOR.instances.id”并不像预期的那样表示,例如CKEDITOR.instances.editor_1、CKEDITOR.instances.editor_2或CKEDITOR.instances.editor_4,因此,我没有检索到任何数据。谁知道怎么解决这个问题,请告诉我。一大堆的感谢

HTML代码:

    <textarea name="edit_1"></textarea>
    <input type="button" value="submit" onClick="getValue('edit_1')" />
    <textarea name="edit_2"></textarea>
    <input type="button" value="submit" onClick="getValue('edit_2')" />
    <textarea name="edit_2"></textarea>
    <input type="button" value="submit" onClick="getValue('edit_3')" />

尝试在id之间添加[]

var getValue = function(id) {
    var content = CKEDITOR.instances[id].getData();
    alert(content);
};

尝试在id之间添加[]

var getValue = function(id) {
    var content = CKEDITOR.instances[id].getData();
    alert(content);
};

我必须这样做,因为我要将事件绑定到具有多个实例的操作。 并试图获取数据,但除了最后一个,任何一个都会返回null。。。不过,使用事件(e.editor)还是有效的

var editors = CKEDITOR.instances;
    for (var x in editors) {
      if (editors[x]) {
        var thisName = editors[x].name;
        if (editors[thisName]) {
          editors[thisName].on('focus', function (e) {
            socket.emit('ckeditor_field_type_edit', user, e.editor.name);
          });
          editors[thisName].on('key', function (e) {
            var data = e.editor.getData();
            socket.emit('ckeditor_field_type_typing', user, e.editor.name, data);
          });
          editors[thisName].on('blur', function (e) {
            var data = e.editor.getData();
            setTimeout(function () {
              socket.emit('ckeditor_field_type_edit_finish', user, e.editor.name, data);
            }, 1000);
          });
        }
      }
    }

我必须这样做,因为我要将事件绑定到具有多个实例的操作。 并试图获取数据,但除了最后一个,任何一个都会返回null。。。不过,使用事件(e.editor)还是有效的

var editors = CKEDITOR.instances;
    for (var x in editors) {
      if (editors[x]) {
        var thisName = editors[x].name;
        if (editors[thisName]) {
          editors[thisName].on('focus', function (e) {
            socket.emit('ckeditor_field_type_edit', user, e.editor.name);
          });
          editors[thisName].on('key', function (e) {
            var data = e.editor.getData();
            socket.emit('ckeditor_field_type_typing', user, e.editor.name, data);
          });
          editors[thisName].on('blur', function (e) {
            var data = e.editor.getData();
            setTimeout(function () {
              socket.emit('ckeditor_field_type_edit_finish', user, e.editor.name, data);
            }, 1000);
          });
        }
      }
    }