Qualtrics

时间:2017-03-15 11:51:08

标签: javascript timer block timing qualtrics

我需要在Qualtrics中为整个块设置时间限制。调查包括5个街区,我希望第4个街区有10分钟的时间限制。 Qualtrics为每个页面提供此功能,但我不知道如何为此目的编写JavaScript代码。

我已经感谢你的帮助。

P.S。

在块之前,我将嵌入数据“sb1”定义为:

${e://Field/Q_TotalDuration}

然后,对于块的每个页面,我将以下内容添加到JavaScript:

Qualtrics.SurveyEngine.addOnload(function()
{
var elapsed = parseInt("${e://Field/Q_TotalDuration}") - parseInt("${e://Field/sb1}");
if(elapsed >= 600) {
$('NextButton').click();
}
});

但不幸的是它似乎没有用。

1 个答案:

答案 0 :(得分:0)

当前的问题是你需要推迟执行$(' NextButton')。点击()在JFE中。这是一个时间问题......当你的代码执行时,NextButton就不存在了。

Qualtrics.SurveyEngine.addOnload(function() {
  var elapsed = parseInt("${e://Field/Q_TotalDuration}") -  parseInt("${e://Field/sb1}");
  if(elapsed >= 600) {
    clickId.defer('NextButton');
  }

  function clickId(id) {
    $(id).click();
  }
});

另一个潜在的问题是您的脚本仅在页面加载时执行。目前尚不清楚这是你想要的。如果没有,则需要添加JavaScript setInterval或prototypejs PeriodicalExecuter函数来增加已用变量,并在达到时间限制时单击Next。如果您采用这种方法,则无法强制响应或验证任何问题。