Qualtrics 中的嵌入式数据显示在 'Data & Analysis' 选项卡中,但未向参与者显示

Embedded data in Qualtrics showing up in the 'Data & Analysis' tab, but is not showing up for participants

所以我的 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):你的家乡是哪里? 我要么回答我的家乡是(例如)"Paisley",否则我将其留空。如果我回答问题,下一个问题会说这是你家乡的人.如果我 回答问题,应该打印:This is a person from Paisley.

然而,后面的例子不打印"Paisley"(it prints nothing)。仅供参考,前一个示例工作正常。

奇怪的是,尽管调查中没有打印 "Paisley",但 it comes out in the final data(在“数据与分析”选项卡中找到)。

注意:我是通过${e://Field/hometownStr}.

调用嵌入数据

有谁知道为什么会这样?在此先感谢您的帮助;请告诉我,我很愚蠢,忽略了一些重要的事情,这不是 Qualtrics 中的错误...

仅供参考,此代码过去有效,因此我认为这不是代码的问题。我重构了一些问题和障碍,它就停止工作了。

将调查流嵌入数据块移动到之前 JS 设置它的块。

编辑: 我注意到您正在使用 addOnUnload。请改用 addOnPageSubmit。