Заполните текстовое поле TinyMCE, используя JQuery (мобильный) - PullRequest
1 голос
/ 28 ноября 2011

Итак, я запустил свою текстовую область и теперь это окно TinyMCE ... отлично.

Но я хочу, чтобы пользователь выбрал некоторые данные и затем заполнил текстовую область этими данными (например, HTML) ... Я использовал этот код:

 var text = file.rows.item(0).presentData;
    if (text != null) {
        text = text.replace(/\n/g, '<br />');
        $('#editcontent').val(text); 

#editcontent будучи текстовой областью ... это работало нормально, пока я не добавил TinyMCE. Теперь, когда я захожу на эту страницу, содержимое не заполняется.

Есть идеи?

Ответы [ 4 ]

2 голосов
/ 28 ноября 2011

Как утверждает Джаспер, сначала заполните текстовую область.

То, что делает TinyMCE, это скрывает вашу текстовую область и помещает на ее место редактируемый Ифраме.

Если вы не можете заполнить текстовую область, прежде чем проверитьВы живете в коде с помощью firebug или какого-либо подобного решения, чтобы увидеть, что Ifram получает в качестве имени или идентификатора или если вы можете указать идентификатор.

Затем используйте его для доступа к Iframe.

1 голос
/ 29 ноября 2011

Попробуйте это:

var newtext = 'some text';
tinyMCE.get('editcontent').setContent(newtext);
1 голос
/ 29 ноября 2011

Я вызывал init при загрузке, а затем попытался сделать это снова после того, как я заполнил текст ... что в итоге мне помогло, так это назвать его ПОСЛЕ того, как я заполнил свой текстовый ящик.

 if (text != null) {
    text = text.replace(/\n/g, '<br />');
    $('#editcontent').val(text);     
}
else {
    text = '<div style="margin: 10%"><h2>This is a blank presentation.  Click edit.</h2></div>';
    $('#editcontent').val('');
}

$('textarea#editcontent').tinymce({
    mode : "textareas",
    theme : "advanced",
    plugins : "autolink,lists,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,advlist",

    theme_advanced_buttons1 : "formatselect,bold,italic,underline,strikethrough,forecolor,backcolor,|,justifyleft,justifycenter,justifyright,justifyfull,fontsizeselect,undo,redo,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,charmap",
        theme_advanced_buttons2 : '',
        theme_advanced_buttons3 : "",
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        theme_advanced_statusbar_location : "none",
        theme_advanced_resizing : true,
});
1 голос
/ 28 ноября 2011

Как насчет инициализации экземпляра TinyMCE после того, как вы установили значение своей текстовой области?

 var text = file.rows.item(0).presentData;
    if (text != null) {
        text = text.replace(/\n/g, '<br />');
        $('#editcontent').val(text).tinymce(...);

Я не уверен, что именно так вы инициализируете TinyMCE, но если вы инициализируете его после строки $('#editcontent').val(text), он должен работать с вашими данными.

Вы также можете «обновить» содержимое вашего экземпляра TinyMCE.

  1. http://www.tinymce.com/forum/viewtopic.php?id=25909
  2. Как обновить TinyMCE для кода, добавляемого с помощью JavaScript
  3. Как обновить iframe tinymce?
  4. http://www.tinymce.com/wiki.php/Command_identifiers
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...