2011-01-24 3 views
1

У меня есть форма с несколькими экземплярами TinyMCE. Я создал элементы управления TextArea динамически с помощью элемента управления Repeater. Все они имеют одинаковый идентификатор, но я дал каждому другому классу. Я назначил каждый из элементов управления TextArea экземпляр TinyMCE, используя опцию editor_selector: в функции TinyMCE Init.Получить экземпляр TinyMCE по классу

tinyMCE.init({ mode : 'textareas',theme : 'simple',editor_selector : 'upperBlock',directionality : 'rtl'}); tinyMCE.init({ mode : 'textareas',theme : 'simple',editor_selector : 'middleBlock',directionality : 'rtl'}); 

Я хочу обратиться к конкретному экземпляру TinyMCE в функции JS и получить его содержимое. В случае, когда каждый элемент управление TextArea имеет другой идентификатор, который может с помощью сделать с помощью:

tinyMCE.get('IdOfYourTextBoxWithTheTinyMCEContent').getContent() 

Есть ли способ получить реф к конкретному содержанию экземпляра TinyMCE по классу присвоенного ему в editor_selector вариант функции TinyMCE Init?

Thanks

+0

Привет, к сожалению, нет ответа пока не дал ответа на мой вопрос. Есть ли синтаксис функции api для получения определенного экземпляра экземпляра TinyMCE классом, назначенным ему. Не хотите ли вы принять ответ, который не дает решения? (Делая это, я буду вводить в заблуждение других читателей) – ProgNet

+0

нет, не конкретно этот вопрос, но у вас есть другие люди :) –

+0

Вы можете прочитать мою историю вопросов и ответы. Только после того, как вы это сделаете, вы можете судить, был ли хороший ответ на мой вопрос, который я оставил без соответствующего ответа. Если вы найдете один или несколько, сообщите мне, и я это исправлю (этого недостаточно для ссылки для проверки скорости содержимого) – ProgNet

ответ

6

Это не может быть сделано с помощью собственных методов TinyMCE. Вы должны петли для себя, например, например. (непроверенные)

for (edId in tinymce.editors) { 
     if (tinymce.editors[edId].settings.editor_selector == 'upperBlock') { 
     // editor found - do something 
    } 
} 
+0

Спасибо за ваш хороший ответ :) Есть только одна проблема, у меня есть некоторые способы для каждого редактора есть 2 разных edIds, так что если условие равно true: функция, которую я использовал для проверки Func() { alert («Функция внутреннего функционала»); var i = 1; для (edId in tinymce.редакторы) { alert ("edId:" + edId); if (tinymce.editors [edId] .settings.editor_selector == 'upperBlock') { alert ("index:" + i); } i ++; } } Я создал только 3 элемента управления TextArea и 3 экземпляра TinyMCE, и только один имеет значение upperBlock – ProgNet

+0

. Добро пожаловать. Вы установили параметр 'mode' в' specific_textareas', как указано в документации? http://tinymce.moxiecode.com/wiki.php/Configuration:editor_selector – acme

+0

Спасибо, я сделал это. Я все еще получаю 2 значения для каждого экземпляра, например, для первого я получил: ctl00_MainContent_EditorialTextTextAreasUC_rptTextAreas_ctl01_txtArea и edId: 0. Для второго экземпляра я получаю - edId: ctl00_MainContent_EditorialTextTextAreasUC_rptTextAreas_ctl02_txtArea и edId: 1 и т. Д. – ProgNet

2

Вы делаете это неправильно. В HTML не допускается иметь больше элементов с одинаковым идентификатором. Дайте им одинаковые идентификаторы классов и идентификаторов.

+0

не обязательно: если он использует asp-textbox, идентификаторы получат префикс области и, следовательно, могут быть уникальными на странице ... –

+0

Благодарим вас за ответ. – ProgNet

+0

, если этот ответ решил вашу проблему, вы должны принять ответ в качестве решения! –

0

Если вы хотите получить редактор по классам, вы должны сначала задать эти свойства в редакторе.

tinymceOptions: { 
        mode: 'specific_textareas', 
        editor_selector: "yourClassName" 
       } 

тогда, ваше текстовое поле будет, как:

<textarea class="yourClassName"></textarea> 

, а затем, вы можете перемещаться между всеми редакторами у вас есть как

tinymce.editors.forEach(function(editor) { 
     if (editor.settings.editor_selector === 'yourClassName') { 
     // do what you want! 
    } 
}); 
Смежные вопросы