1

我想从 WYMeditor 获取两个 textarea 的值:

第一个:

<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();

但是,问题是如果有两个 textarea,我不知道该怎么做。如何获得第二个值?

非常感谢!!

4

1 回答 1

0

获取具有已知顺序的特定 WYMeditor 实例 HTML

如果您只是想遍历特定页面上所有 WYMeditor 实例的结果,那么您的数组索引方法就可以了。如果您知道创建 WYMeditor 实例的顺序,您将执行以下操作:

var wymResults,
    wymRefResults;

wymResults = WYMeditor.INSTANCES[0].xhtml();
wymRefResults = WYMeditor.INSTANCES[1].xhtml();

从所有 WYMeditor 实例中获取 HTML

如果您有未知数量的 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()调用不会通过解析器运行生成的 HTML 或执行任何特定于浏览器的清理,这意味着如果您要在 Chrome 中创建的 IE9 中加载一些 html,只需调用html()而不进行任何更改将意味着结果HTML 会略有不同。不同的浏览器需要稍微不同的 HTML 来提供一致的编辑体验,而 WYMeditor 会为您抽象出来,假设您使用它xhtml()来获得结果。

于 2012-08-13T18:22:14.807 回答