2012-08-02 11 views
8

Ich habe einige Textareas und alle von ihnen sind mit tinyMCE.setContent eines textarea mit tinyMCE

Ich möchte den Inhalt der spezifischen Textarea festlegen, aber ich kann nicht finden, wie.

Ich habe dies tryed:

tinyMCE.get('title').setContent(selected_article_title); 

hier ist mein Textfeld:

<textarea style="width: 95%;" name="Title" id="title"></textarea> 

Und hier meine tinyMCE init:

tinyMCE.init({ 
// General options 
mode : "specific_textareas", 
theme : "advanced", 
width: "100%", 
plugins : "pagebreak,paste,fullscreen,visualchars", 

// Theme options 
theme_advanced_buttons1 : "code,|,bold,italic,underline,|,sub,sup,|,charmap,|,fullscreen,|,bullist,numlist,|,pasteword", 
theme_advanced_buttons2 :"", 
theme_advanced_buttons3 :"", 
theme_advanced_buttons4 :"", 
theme_advanced_toolbar_location : "top", 
theme_advanced_toolbar_align : "left", 
theme_advanced_statusbar_location : "bottom", 
valid_elements : "i,sub,sup", 
invalid_elements : "p, script", 
editor_deselector : "mceOthers" 
}); 

Ich weiß nicht, warum dies nicht der Fall ist arbeiten, verwende ich das Beispiel von der tinyMCE Website http://www.tinymce.com/wiki.php/API3:method.tinymce.Editor.setContent

Antwort

10

ich die Lösung (thans zu Thariama, der mir einige Elemente gibt) haben

den Inhalt eines Textbereich mit tinyMCE einzustellen, heve wir in das Textfeld vor init dem tinyMCE zu füllen. Auch ist die Antwort wie folgt:

  1. den Textbereich erstellen:

    <textarea style="width: 95%;" name="Title" id="title"></textarea> 
    
  2. Stellen Sie den Inhalt des Textbereich:

    $('#title').html(selected_article_title); 
    
  3. Init die tinyMCE:

    tinyMCE.init({ 
    // General options 
    mode : "specific_textareas", 
    theme : "advanced", 
    width: "100%", 
    plugins : "pagebreak,paste,fullscreen,visualchars", 
    
    // Theme options 
    theme_advanced_buttons1 : "code,|,bold,italic,underline,|,sub,sup,|,charmap,|,fullscreen,|,bullist,numlist,|,pasteword", 
    theme_advanced_buttons2 :"", 
    theme_advanced_buttons3 :"", 
    theme_advanced_buttons4 :"", 
    theme_advanced_toolbar_location : "top", 
    theme_advanced_toolbar_align : "left", 
    theme_advanced_statusbar_location : "bottom", 
    valid_elements : "i,sub,sup", 
    invalid_elements : "p, script", 
    editor_deselector : "mceOthers" 
    }); 
    

Und es ist fertig! Genießen.

1

Mit diesem

tinyMCE.get('title').setContent(selected_article_title); 

wird nicht funktionieren. Es wird Ihren Editor-Inhalt einstellen.

Um den Editor Quelle HTML-Element (das Textfeld) legen Sie es direkt

mit eingestellt werden müssen
$('#title').html(selected_article_title); 

Sie müssen sich bewusst sein, dass Ihr Editor nicht das gleiche wie die Textbox!

+0

Danke @Thariama, aber das funktioniert nicht für mich. Mein Textfeld ist noch leer. –

6

Für tinymce Version 4

tinymce.get('title').setContent(selected_article_title); 

funktioniert gut - auch nach dem Editor initialisiert.

+0

Das hat für mich funktioniert –

0

Wenn Sie einen Inhalt gesetzt, die mso-Tags enthält, (ein HTML-Inhalt von outlook2013 erzeugt, die Liste zum Beispiel nummeriert enthält), verlieren Sie die Listenelemente. Einstellung durch tinymce.activeEditor.setContent (foo) oder erste Einstellung textarea Inhalt und dann Initialisierung tinymce gibt das gleiche Ergebnis, können wir nicht Liste Elemente richtig sehen, sie sind linksbündig. Aber wenn wir setzen setContent(foo, { format:'raw' }) wee sehen Sie die Liste Elemente richtig. Warum?

6

ich denke, das Ihr Problem

lösen wird es funktioniert für TinyMCE v fein: 4. .

// Sets the HTML contents of the activeEditor editor 
tinyMCE.activeEditor.setContent('<span>some</span> html'); 

// Sets the raw contents of the activeEditor editor 
tinyMCE.activeEditor.setContent('<span>some</span> html', {format : 'raw'}); 

// Sets the content of a specific editor (my_editor in this example) 
tinyMCE.get('my_editor').setContent(data); 

// Sets the bbcode contents of the activeEditor editor if the bbcode plugin was added 
tinyMCE.activeEditor.setContent('[b]some[/b] html', {format : 'bbcode'}); 

der Link für den Code ist TinyMCE setContent

0

Folgende Arbeiten mit tinymce Version 4, und zeigt nicht den Editor als Textbereich, während er gezogen hat ist:

function initializeEditors() { 
    var editorContent = {}; 
    $("#photo-list").sortable({ 
     start: function (e, ui) { 
      $('.attachment-info').each(function() { 
       var id = $(this).attr('id'); 
       editorContent[id] = tinyMCE.get(id).getContent(); 
      }); 
     }, 
     stop: function (e, ui) { 
      $('.attachment-info').each(function() { 
       var id = $(this).attr('id'); 
       tinymce.execCommand('mceRemoveEditor', false, id); 
       tinymce.execCommand('mceAddEditor', true, id); 
       tinyMCE.get(id).setContent(editorContent[id]); 
      }); 
     } 
    }); 
} 
0
$('#title').html(selected_article_title); 

Stellen Sie sicher, dass selected_article_title keine HTML-Tags enthält.