2010-12-14 3 views
2

Ich habe Ajax-Form (http://jquery.malsup.com/form/) und ich benutze jQuery-Plugin, um meine TinyMCE-Editor zu installieren. Aber ich kann TextArea Inhalt nicht in AJAX Anfrage bekommen. Dies liegt daran, dass es im TinyMCE Editor iFrame ist. Ich habe mehrere Tutorials von Google ausprobiert, aber alle konnten nicht für mich arbeiten. Der Editor wird angezeigt, aber wenn ich eine AJAX-Anfrage absende, wird der Texteingabeinhalt nicht bearbeitet.TinyMCE-Editor in Ajax-Form mit jQuery-Plugin

Hier ist, wie ich TinyMCE Editor installieren, aber dies nicht gelingt

$("textarea.tinymce").tinymce({   
    script_url : tinymceUrl, 
    mode : "none", 
    theme : "simple", 
    setup : function(ed) { 
     ed.onChange.add(function() { 
      tinyMCE.triggerSave(true,true); 
     }); 
    } 
}); 
+0

wie wollen Sie versuchen, den Inhalt zu greifen? – Thariama

+0

http://wiki.moxiecode.com/index.php/TinyMCE:Functions#tinyMCE.triggerSave – newbie

+0

Sie verweisen auf eine ältere Version der API, die neue API befindet sich unter http://wiki.moxiecode.com/ index.php/TinyMCE: API/tinymce.EditorManager/triggerSave –

Antwort

4

Das onChange Ereignis ist "iffy" am besten. Ich ging kürzlich mit einem Projekt, das ich bin, durch und musste den Fokus & Unschärfe Ereignisse binden ... es war nicht schön. In meinem Setup-Handler habe ich Folgendes getan. Ich habe den für mein Projekt spezifischen Code entfernt und einen Kommentar zum Speicherort angegeben.

ed.onPostRender.add(function(editor, cm) { 
    // Register focus and blur events on BOTH the window and the doc, this way it works properly in 
    // IE, Firefox & Chrome 
    tinymce.dom.Event.add(editor.getWin(), 'focus', function(e) { }); 
    tinymce.dom.Event.add(editor.getWin(), 'blur', function(e) { /* save on blur */ }); 
    tinymce.dom.Event.add(editor.getDoc(), 'focus', function(e) { }); 
    tinymce.dom.Event.add(editor.getDoc(), 'blur', function(e) { /* save on blur */ }); 
}); 

Auf einer Seite zur Kenntnis, bemerkte ich, dass Sie den Editor-Manager (TinyMCE) mit triggerSave (true, true) sind aufgerufen wird. Ich sehe das in der 3.3.9.2 API nicht, also weiß ich nicht, was dort versucht wird. In dem obigen Code wird ein Handle an den Editor (e) übergeben und die Methode e.save() kann aufgerufen werden, um das Speichern durchzuführen und es in dem Textarea-Feld zu speichern, das von tinyMCE eingerichtet wird.

Hoffe, dass hilft.

+0

Wir haben uns den Link oben unter (http://wiki.moxiecode.com/index.php/TinyMCE:Functions#tinyMCE.triggerSave) angesehen, auf den es sich bezieht eine ältere 2.x API, die wahrscheinlich nicht mehr unterstützt wird. Sehen Sie, ob der Code, den ich oben zur Verfügung gestellt habe, bei dem, was Sie versuchen, hilfreich sein könnte. –

1

Wie Dave G schon sagt, ist die API-Verbindung alt (und ich habe mich über den Aufruf von triggerSave gewundert).

Bitte versuchen Sie es

tinyMCE.triggerSave();