2016-07-07 7 views
1

Ich habe ein Problem während des Erhalts der vorhandenen Instanz.CKEditor: Kann keine vorhandene Instanz von CKEditor bekommen

Textbereich:

{{ textarea name=ec.ec_id value=ec.ecl_body placeholder=ec.ecl_en_body class="form-control" }} 

CKEditor:

function createEditor(name) 
{ 
    CKEDITOR.replace(name, { 
     //uiColor: '#379e15', 
     resize_dir: 'both', 
     resize_maxWidth: '800', 
     toolbarGroups: [{name: 'basicstyles', groups: ['basicstyles', 'cleanup']}, 
      {name: 'paragraph', groups: ['list', 'indent', 'blocks', 'align', 'bidi']}, 
      {name: 'links'}, {name: 'editing', groups: ['find', 'selection', 'spellchecker']}] 

    }); 
} 

createEditor(email.ec_id); //Its working 

Abrufen von Daten:

var data = CKEDITOR.instances[email.ec_id]; 

Fehler: Daten ist nicht definiert

+1

Sind Sie sicher, dass die 'email.c_id' mit dem Attribut 'ec.ec_id' übereinstimmt, das Sie dem' textarea' geben? –

+0

Ja, es ist ein gleiches Objekt –

+0

@Rory Ich habe gern, dass CKEditor keine Instanz zurückgeben. –

Antwort

0

Fixed, ich habe viel Zeit damit verbracht und es endlich behoben.

CKEditor init auf Name oder ID-Attribut.

Für Beispiel 1:

<textarea id="msg_body" name="msg_body"></textarea> 

CKEDITOR.replace('msg_body', {}); //Working 

var instance = CKEDITOR.instances['msg_body']; //return instance 

Für Beispiel 2:

<textarea id="diffrent_id" name="msg_body"></textarea> 

CKEDITOR.replace('msg_body', {}); //Working and ckeditor init successfully 

var instance = CKEDITOR.instances['msg_body']; //Not Working return undefined. 

Für Beispiel 3:

<textarea id="msg_body" name="diffrent_class"></textarea> 

CKEDITOR.replace('msg_body', {}); //Working 

var instance = CKEDITOR.instances['msg_body']; //return instance 

SO in emberjs wenn wir ID-Feld angeben, dann dont ember auto eine Ember-ID zuweisen, weshalb ich die Instanz nicht abrufen konnte.