我想我必须正确地搜索这个,因为我还没有找到任何解决方案。我正在使用wiris编辑器,允许用户创建丰富的textareas,然后由其他用户填充。 wiris的每个实例都有一个动态填充的名称,该名称基于已创建的编辑器数量。 $ t只是一个柜台。
editor<?php echo $t ?> = com.wiris.jsEditor.JsEditor.newInstance({'language': 'en'});
然后我需要检索每个特定编辑器的内容。
如果我输入文字对象名称
var ml = editor3.getMathML();
一切正常,但当我尝试使用变量来访问动态创建的对象名称
时var dynamicName = 'editor'+t;
var ml = dynamicName.getMathML();
我收到以下错误:
Uncaught TypeError: Object editor3 has no method 'getMathML'
如何使用dynamicName中创建的字符串来调用editor3对象?
答案 0 :(得分:0)
我认为dynamicName
不是您的对象:它应该是字符串editor3
,但我无法解释错误消息;我认为消息应该是Object dynamicName has no method 'getMathML'...
可能在消息中名称 dynamicName 被对象 dynamicName 的方法toString
的返回值替换,所以字符串 editor3 本身......
无论如何,您可以尝试以下方法:
var dynamicObj = eval('editor' + t);
var ml = dynamicObj.getMathML();