从WYMeditor获得几个textarea的价值

时间:2012-08-13 10:15:31

标签: wymeditor

我想从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,我不知道怎么办。如何获得第二个值?

非常感谢!!

1 个答案:

答案 0 :(得分: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或执行任何特定于浏览器的清理,这意味着如果您要加载一些html in let say IE9是在Chrome中创建的,只是在不进行任何更改的情况下调用html()将意味着生成的HTML会略有不同。不同的浏览器需要稍微不同的HTML才能提供一致的编辑体验,而WYMeditor会为您抽象出来,假设您使用xhtml()来获取结果。