Qualtrics Javascript键盘按下

时间:2016-12-07 02:22:16

标签: javascript survey qualtrics

我已经获得了一些用于在Qualtrics中录制键盘按键的JavaScript代码。在我预览调查时似乎工作正常,但是一旦我使用分发调查链接,它就根本不起作用。

我在事件之前使用此代码,我想记录'x'键盘按下:

Qualtrics.SurveyEngine.addOnload(function()
{

Event.observe(document, 'keydown', function (e) {
        
        switch (e.keyCode) {
                case 88: // 'x' was pressed
                        var totalpresses = Qualtrics.SurveyEngine.getEmbeddedData("xhits");
        if (totalpresses == "NaN"){totalpresses=1;}
        totalpresses = parseInt(totalpresses);
                        totalpresses = totalpresses + 1;
        Qualtrics.SurveyEngine.setEmbeddedData("xhits",totalpresses);
        }
});
});

我正在使用此代码来关注事件:

Qualtrics.SurveyEngine.addOnload(function()
{ 
        
        var totalpresses = Qualtrics.SurveyEngine.getEmbeddedData("xhits");
            Qualtrics.SurveyEngine.setEmbeddedData("finalxhits", totalpresses);

它为我需要的部分提供了'xhits',但仅限于我预览调查时。

我在调查流程中使用嵌入数据创建'xhits'和'finalxhits',但finalxhits似乎也没有显示值(不是这就是问题)。

我是javascript的新手所以非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我不确定是什么导致了您的问题(我还没有尝试重新创建它),但请尝试以下方法:

Qualtrics.SurveyEngine.addOnload(function()
{
var totalpresses = parseInt("${e://Field/xhits}");
if (isNaN(totalpresses)) totalpresses = 0;
 
Event.observe(document, 'keydown', function (e) {
        
        switch (e.keyCode) {
                case 88: // 'x' was pressed
                        totalpresses = totalpresses + 1;
                        Qualtrics.SurveyEngine.setEmbeddedData("xhits",totalpresses);
        }
});
});
第二段代码是否附在后续问题上?我不确定它的用途是什么,但你可以在调查流程中做这个任务:

finalxhits = ${e://Field/xhits}