因此,我的Qualtrics调查中有一些JS,可以回答问题,如果该答复不为空,它将嵌入参与者的答复(在调查的后面将被称为)。如果他们没有输入任何内容,我已将其打印为字符串。我已经用以下方法做到了:
Qualtrics.SurveyEngine.addOnUnload(function()
{
/*Place your JavaScript here to run when the page is unloaded*/
var tboxID= "QR~"+this.questionId;
var hometownStr = document.getElementById(tboxID).value;
Qualtrics.SurveyEngine.setEmbeddedData('hometownStr',hometownStr);
if(!hometownStr || 0 === hometownStr.length)
{
Qualtrics.SurveyEngine.setEmbeddedData('hometownStr', "your hometown");
}
});
在块之后,这个问题在I have embedded the data中。
所以,假设我被问到一个问题(其中嵌入了JS):您的家乡是什么?我要么回答说我的家乡是(例如)“佩斯利”,要么将其留空。如果我不回答问题,下一个问题将是这是您的家乡的人>。如果我要做回答问题,应该打印:这是佩斯利的人。
但是],后一个示例不打印
“佩斯利”(it prints nothing)。仅供参考,前一个示例很好用。奇怪的是,尽管调查中未打印“ Paisley”,但it comes out in the final data(位于“数据和分析”选项卡中。)>
注:我通过${e://Field/hometownStr}
调用嵌入的数据。
有人知道为什么会这样吗?预先感谢您的任何帮助;请告诉我我很愚蠢,并且忽略了一些主要问题,这不是Qualtrics中的错误...
仅供参考,此代码在过去一直有效,因此我认为这与代码无关。我重构了一些问题和块,它刚刚停止工作。
因此,我的Qualtrics调查中有一些JS,可以回答问题,如果该答复不为空,它将嵌入参与者的答复(在调查的后面将被称为)。如果...
编辑:我注意到您正在使用addOnUnload。请改用addOnPageSubmit。