Получение значения нескольких текстовых областей от WYMeditor
Я хотел бы получить значение двух текстовых областей от WYMeditor:
Первый:
<script type="text/javascript">
jQuery(function() {
$(" .wymeditor").wymeditor({
logoHtml: '',
lang: 'fr',
skin: 'default',
});
});
</script>
И второй:
<script type="text/javascript">
jQuery(function() {
$(" .wymeditor_ref").wymeditor({
logoHtml: '',
lang: 'fr',
skin: 'silver',
});
});
</script>
HTML:
<textarea id="definition" class="wymeditor" name="definition"/></textarea>
<textarea id="references_definitions" class="wymeditor_ref" name="definition"/></textarea>
Я использую это: WYMeditor.INSTANCES[0].html();
Но проблема в том, что я не знаю, как это сделать, если есть две текстовые области. Как получить второе значение?
Большое спасибо!!
1 ответ
Получить конкретный экземпляр WYMeditor HTML с известным порядком
Если вы просто хотите перебрать результаты всех экземпляров WYMeditor на конкретной странице, ваш метод индексации массива вполне подойдет. Если вы знаете порядок, в котором создаются экземпляры WYMeditor, вы сделаете что-то вроде:
var wymResults,
wymRefResults;
wymResults = WYMeditor.INSTANCES[0].xhtml();
wymRefResults = WYMeditor.INSTANCES[1].xhtml();
Получить HTML из всех экземпляров WYMeditor
Если у вас есть неизвестное количество экземпляров WYMeditor, вот как вы можете получить результаты всех из них:
var results = [],
i;
for (i = 0; i < WYMeditor.INSTANCES.length; i++) {
// Do something with the xhtml results
results.push(WYMeditorINSTANCES[i].xhtml());
}
Получить конкретные результаты HTML с неизвестным порядком создания
Если имеет значение, какой экземпляр WYMeditor вы хотите получить, хотя, как это часто бывает, вы захотите хранить ссылки на конкретные экземпляры при их создании. например.
var wym,
wymRef,
wymResults,
wymRefResults;
// Instantiate my WYMeditor instances
wym = $(".wymeditor").wymeditor();
wymRef = $(".wymeditor_ref").wymeditor();
// Let's grab the results. This will probably live in some kind of `submit()` handler.
wymResults = wym.xhtml();
wymRefResults = wymRef.xhtml();
использование xhtml()
не html()
Еще одна заметка, характерная для вашего примера, но вы должны использовать xhtml()
звоните вместо html()
вызов, чтобы гарантировать последовательную, межбраузерную разметку.
html()
call не запускает полученный HTML-код через анализатор и не выполняет какую-либо специфическую для браузера очистку, а это означает, что если вам нужно было загрузить html-файл, скажем, IE9, созданный в Chrome, просто вызовите html()
без внесения каких-либо изменений будет означать, что полученный HTML будет немного другим. Разные браузеры нуждаются в немного отличающемся HTML-коде, чтобы обеспечить единообразное редактирование, и WYMeditor абстрагирует его от вас, если вы используете xhtml()
чтобы получить результаты.