我正在尝试计算受访者在完成调查时离开我的Qualtrics调查的次数 - 也就是说,调查所显示的标签变为无效,模糊或不可见的次数。我在Qualtrics调查的标题中使用了此代码,其中leaveCount
是一个嵌入数据对象,添加到调查流程的顶部,值为0.
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
<script>
Qualtrics.SurveyEngine.addOnload(function() {
var count = "${e://Field/leaveCount}"
$(window).blur(function(){
count++
Qualtrics.SurveyEngine.setEmbeddedData('leaveCount', count);
});
});
</script>
然而,当他们被要求暂时离开调查时,有一页调查(只有一个问题,“QID3”),我不希望将这些不活动包含在计数中。换句话说,我希望它计算除了这个页面之外的每个页面上的不活动。
这些是我尝试过的两件事,但它们不起作用。而不是不依赖于“QID3”的页面,它不再计算在内。
// attempt with .equals()
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
<script>
Qualtrics.SurveyEngine.addOnload(function() {
String qid = Object.keys(Qualtrics.SurveyEngine.QuestionInfo)[0];
var count = "${e://Field/leaveCount}"
if (!”QID3".equals(qid)) {
$(window).blur(function(){
count++
Qualtrics.SurveyEngine.setEmbeddedData('leaveCount', count);
});
};
});
</script>
// attempt with !=
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
<script>
Qualtrics.SurveyEngine.addOnload(function() {
String qid = Object.keys(Qualtrics.SurveyEngine.QuestionInfo)[0];
var count = "${e://Field/leaveCount}"
if (Object.keys(Qualtrics.SurveyEngine.QuestionInfo)[0] != qid) {
$(window).blur(function(){
count++
Qualtrics.SurveyEngine.setEmbeddedData('leaveCount', count);
});
};
});
</script>
我不是日常的Javascript用户,因此非常感谢任何帮助。
答案 0 :(得分:0)
不要将窗口模糊功能放在if中,而是希望将if放在窗口模糊中。像这样应该的工作,虽然我还没有测试过。
--no-commit
值得一提的是,JavaScript并非强类型,因此“string qid = ...”将无效。 JavaScript中的所有变量都只是变量。
答案 1 :(得分:0)
我还没有测试过,但请尝试以下方法。基本上,安东尼的想法,但只是寻找id QID3。
<script>
Qualtrics.SurveyEngine.addOnload(function() {
var count = "${e://Field/leaveCount}";
$(window).blur(function(){
if (!$('QID3')) {
count++;
Qualtrics.SurveyEngine.setEmbeddedData('leaveCount', count);
};
});
});
</script>