【发布时间】:2018-08-11 10:25:55
【问题描述】:
从联系人列表导入字段时,相应的嵌入数据字段包括点 (.)。例如,这是在联系人列表导入时自动创建的一个嵌入数据的名称:
result.elements.0.embeddedData.V1
在我的调查中,我想访问存储在这个嵌入数据字段中的值。但是 Qualtrics 提供的 getEmbeddedData() javascript 方法显然不喜欢点。
举个更简单的例子,我将上面嵌入的数据名称缩短为V.1:
Qualtrics.SurveyEngine.getEmbeddedData('V.1'); // returns null
并返回一个空值。
如果我将嵌入的数据字段名称更改为V1(不是.),则该方法返回正确的值:
Qualtrics.SurveyEngine.getEmbeddedData('V1'); # returns correct value
如果名称中有一个点,我尝试使用\\ 和\ 进行转义,例如:getEmbeddedData('V\\.1'),但是这两种转义样式都不起作用 - 返回了null。
还有另一种使用 javascript 访问嵌入数据的语法 - "${e://Field/myfield}" 方法 - 但我需要能够动态设置最后一个字符(即 V 之后的数字),并且此方法不允许那。具体来说,对于嵌入数据V1:
var ix = 1;
Qualtrics.SurveyEngine.getEmbeddedData('V'+ix); <-- this works
"${e://Field/V"+ix+"}"; <-- this doesn't work
我有超过 1000 个字段可以从此联系人列表中导入,因此我不想手动重命名每个字段以删除点。如果 Qualtrics 破坏了它自己的一种方法,它会选择这个命名模式作为导入默认值,这似乎很奇怪——我在这里做错了吗?我可以使用其他语法吗?
【问题讨论】:
标签: javascript qualtrics