如何使用JavaScript以秒为单位记录Qualtrics“页面提交”时间?

时间:2019-02-05 17:26:58

标签: javascript qualtrics

我正在尝试编写javascript代码,以计算Qualtrics中的“页面提交”时间(从开始查看到单击下一次按钮所花费的时间)。我无法使用常规的定时Qualtrics问题,因为我还有其他与下一个按钮配合使用的代码,当我向页面添加Qualtrics计时问题时,该代码不起作用。 (为了简化起见,我从下面省略了该代码。)

我认为问题在于我无法将开始时间从Qualtrics.SurveyEngine.addOnload部分传递到Qualtrics.SurveyEngine.addOnPageSubmit部分。

我有两个嵌入式数据字段:StartHolder和TimeDiff,都设置为0。 我正在使用以下代码来尝试计算经过的时间:

Qualtrics.SurveyEngine.addOnload(function()
{
    Qualtrics.SurveyEngine.setEmbeddedData('StartHolder',new Date);
});

Qualtrics.SurveyEngine.addOnPageSubmit(function() {
    var TimeDiff = new date() - Date.parse("${e://Field/StartHolder}");
    Qualtrics.SurveyEngine.setEmbeddedData('TimeDiff',TimeDiff);
});

我认为问题是我没有将StartHolder变量正确地拉回到我的代码中,但是我不确定如何解决它。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

您不能在同一页面上设置和传递和嵌入变量。您应该将JS变量设置为开始时间,然后将addOnPageSubmit函数放入addOnLoad函数中。

Qualtrics.SurveyEngine.addOnload(function() {
    var startHolder = new Date();
    Qualtrics.SurveyEngine.addOnPageSubmit(function() {
       var TimeDiff = new Date() - startHolder;
       Qualtrics.SurveyEngine.setEmbeddedData('TimeDiff',TimeDiff);
    });
});