我进行了一项Qualtrics调查,其中受访者符合以下四个条件之一。在一种情况下,他们需要回答3分钟。
这些问题必须随机排列,并且每个问题都显示在一页上,并且最多可以回答90个问题(我有计时器,要等2秒后才能提交问题)。
因此,所有问题都在一个步骤中,但是如果受访者在3分钟内未回答所有问题,我无法弄清楚如何进行下一个步骤(跳过其余问题)。
我没有编码方面的知识,因此尽管我尝试了一些从谷歌搜索中刮取的JavaScript,但我不知道如何使它起作用,所以请问我是否不清楚并提供防白痴的答案:)
我创建了一个名为TimeLeft的嵌入式变量,并将其设置为180,然后尝试将下面的代码插入到该块中的所有问题中。
Qualtrics.SurveyEngine.addOnload(function()
{
var timeleft = parseInt("${e://Field/TimeLeft})");
var timer = setInterval(function(){
if(timeleft <= 0){
clearInterval(timer);
$('NextButton').click();
}
timeleft--;
},1000);
$('NextButton').onclick = function (event) {
Qualtrics.SurveyEngine.setEmbeddedData('TimeLeft', timeleft);
}
});
当我对其进行测试时(用10秒而不是3分钟),它似乎在10秒后就提出了每个问题,但并没有跳过这一步。如果我回答一个问题,它将使下一个问题前进10减去我回答的时间。例如如果我在2秒钟内回答了第一个问题,则所有下一个问题将在8秒钟后自动前进。 在这种情况下,无论我花了多长时间做出响应,我都希望它总共花费10秒。例如如果我花2秒钟回答第一个问题,即使我不回答下一个问题,它也应在8秒钟后前进到下一个程序段。
我不确定是否将JS放在正确的位置或是否不完整。预先感谢您的帮助。