我想从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,我不知道怎么办。如何获得第二个值?
非常感谢!!
答案 0 :(得分:0)
如果您只想迭代特定页面上所有WYMeditor实例的结果,那么您的数组索引方法就可以了。如果您知道WYMeditor实例的创建顺序,那么您将执行以下操作:
var wymResults,
wymRefResults;
wymResults = WYMeditor.INSTANCES[0].xhtml();
wymRefResults = WYMeditor.INSTANCES[1].xhtml();
如果您的WYMeditor实例数量不明,那么您可以获得所有这些实例的结果:
var results = [],
i;
for (i = 0; i < WYMeditor.INSTANCES.length; i++) {
// Do something with the xhtml results
results.push(WYMeditorINSTANCES[i].xhtml());
}
如果您要检索哪个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()
来获取结果。