我需要在Qualtrics中为整个区块设置一个时间限制。调查由5个区块组成,我希望区块4有10分钟的时间限制。Qualtrics为每个页面都提供了这个功能,但是我不知道我应该如何为这个目的编写JavaScript。
我已经很感谢你的帮助了。
附注:
在代码块之前,我将嵌入式数据"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();
}
});
但不幸的是,它似乎不起作用。
发布于 2017-03-23 04:38:45
直接的问题是,您需要推迟在JFE中执行$('NextButton').click()。这是当你的代码执行的时候,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。如果你采用这种方法,你就不能强制回答或验证任何问题。
https://stackoverflow.com/questions/42808946
复制相似问题