Monday, May 13, 2024
 Popular · Latest · Hot · Upcoming
153
rated 0 times [  156] [ 3]  / answers: 1 / hits: 65537  / 12 Years ago, fri, august 3, 2012, 12:00:00

I hava an textarea and I am using tinyMCE on that textarea.



What I am doing actually is that when the page is opened, I am populating the textarea with some text, and after that I am initializing the tinyMCE.



The problem is when I am trying to change the value of the textarea after tinyMCE initializing, then nothing happens.



Here is an example.




  1. Creating the textarea:



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

  2. Populating the textarea:



    $('#title').html(someText);

  3. Initializing 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
    });

  4. I would like to change the content of the textview (but it is not working)




I have tryed to use the same as before init the tinyMCE



    $('#title').html(someModifiedText); // does not work


I have also tryed to remove tinyMCE:



    if(tinyMCE.getInstanceById('title'))
removeTinyMCE(title);


With



function removeTinyMCE (dialogName) {
tinyMCE.execCommand('mceFocus', false, dialogName);
tinyMCE.execCommand('mceRemoveControl', false, dialogName);


}



And thet to reuse:



    $('#title').html(someModifiedText); // does not work


I am out of ideas... Thank you very much for your help....


More From » html

 Answers
30

Problem here is you won't see anything if you enter text or html into your textarea.
Your textarea gets hidden when tinymce gets initialized. What you see then is a content editable iframe, which is used to edit and style content. There are several events which will cause tinymce to write its content to the html source element of the editor (in your case your textarea).



If you want to set the content of the editor (which is visible) you will need to call something like



tinymce.get('title').setContent('<p>This is my new content!</p>');


You may also acces the dom elements directly using the following



tinymce.get('title').getBody().innerHTML = '<p>This is my new content!</p>';


or using jQuery



$(tinymce.get('title').getBody()).html('<p>This is my new content!</p>');

[#83875] Thursday, August 2, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
byrondonavanc

Total Points: 675
Total Questions: 107
Total Answers: 105

Location: Peru
Member since Fri, Oct 14, 2022
2 Years ago
byrondonavanc questions
;