vikrant
vikrant

Reputation: 397

tinymce setcontent makes existing disapper

I am trying to add some extra hidden content into tinymce editor using

tinyMCE.get('addCustom_id').setContent(data);

once the above line is executed on an event, the existing content prior to setContent disappears.I want to preserve existing content as well as add extra content.Please help.

Below is the following tinymce init code

tinymce.init({
    mode : "specific_textareas",
    selector : '#customArea textarea',
    plugins: [
            "advlist autolink autosave link image lists charmap print preview hr anchor pagebreak spellchecker",
            "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking",
            "table contextmenu directionality emoticons template textcolor paste fullpage textcolor"
    ],

    toolbar1: "newdocument fullpage | bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | styleselect  fontselect fontsizeselect",
    toolbar2: "searchreplace | bullist numlist | outdent indent blockquote | undo redo | link unlink anchor image media code | inserttime preview | forecolor backcolor",
    toolbar3: "table | hr removeformat | subscript superscript | charmap emoticons | print fullscreen | ltr rtl | spellchecker | visualchars visualblocks nonbreaking template pagebreak restoredraft",
    image_advtab: true,     
    importcss_append: true,
    //visual_table_class: "product_table_1",
    //visual_table_class: "product_table_2",
     content_css:  "/bvmc/filegallery/static/tempcss/jquery-ui-small.css,/bvmc/filegallery/static/tempcss/style_small.css,/bvmc/filegallery/static/tempcss/style_small_2.css,/bvmc/filegallery/static/tempcss/style_small_3.css,/bvmc/filegallery/static/tempcss/tinyMCE.css,/bvmc/filegallery/static/tempcss/table_style.css",
    valid_children : "+p[h1|h2|h3|h4|h5|h6]",
    menubar: false,
    toolbar_items_size: 'small',
    style_formats: [    
{title: "Headers", items: [
    {title: "Header 1", inline: "h1"},
    {title: "Header 2", inline: "h2"},
    {title: "Header 3", inline: "h3"},
    {title: "Header 4", inline: "h4"},
    {title: "Header 5", inline: "h5"},
    {title: "Header 6", inline: "h6"}
]},
{title: "Inline", items: [
    {title: "Bold", icon: "bold", format: "bold"},
    {title: "Italic", icon: "italic", format: "italic"},
    {title: "Underline", icon: "underline", format: "underline"},
    {title: "Strikethrough", icon: "strikethrough", format: "strikethrough"},
    {title: "Superscript", icon: "superscript", format: "superscript"},
    {title: "Subscript", icon: "subscript", format: "subscript"},
    {title: "Code", icon: "code", format: "code"}
]},
{title: "Blocks", items: [
    {title: "Paragraph", format: "p"},
    {title: "Blockquote", format: "blockquote"},
    {title: "Div", format: "div"},
    {title: "Pre", format: "pre"}
]},
{title: "Alignment", items: [
    {title: "Left", icon: "alignleft", format: "alignleft"},
    {title: "Center", icon: "aligncenter", format: "aligncenter"},
    {title: "Right", icon: "alignright", format: "alignright"},
    {title: "Justify", icon: "alignjustify", format: "alignjustify"}
]}
    ]

});

Upvotes: 1

Views: 393

Answers (1)

Thariama
Thariama

Reputation: 50832

setContent resets the whole editor content.

You may use

tinyMCE.get('addCustom_id').execCommand('insertHTML', false, data);

to add content at the current caret position in the editor. The actual selection will get replaced.

Upvotes: 1

Related Questions