Qualtrics Javascript未保存回复

时间:2016-10-12 17:57:42

标签: javascript keycode qualtrics

我在javascript中使用了一些代码并且很难用它来保存响应。无论我如何调整它或我做什么,我似乎无法在实际数据文件中看到变量。我的脚本看起来像这样:

Qualtrics.SurveyEngine.addOnload(function() {
    if ($('NextButton'))
        $('NextButton').hide();
    if ($('PreviousButton'))
        $('PreviousButton').hide();

    var that = this;
    Event.observe(document, 'keydown', function(e) {
        var choiceID = null;
        if (e.keyCode == 49) { //'1' was pressed
            choiceID = 1;
        } else if (e.keyCode == 50) { //2'' was pressed
            choiceID = 2;
        } else if (e.keyCode == 51) { //'3' was pressed
            choiceID = 3;
        } else if (e.keyCode == 52) { //'4' was pressed
            choiceID = 4;
        } else if (e.keyCode == 53) { //'5' was pressed
            choiceID = 5;
        } else if (e.keyCode == 54) { //'6' was pressed
            choiceID = 6;
        } else if (e.keyCode == 55) { //'7' was pressed
            choiceID = 7;
        }
        if (choiceID) {
            that.setChoiceValue(choiceID, true);
            that.clickNextButton();
        }
    });
});

调查运行认为此代码很好,但我的数据文件中没有choiceID变量。我尝试过类似的其他变化;它们都通过屏幕很好,但我的数据文件中没有变量。

任何帮助都将非常感谢!我完全被难过了。

1 个答案:

答案 0 :(得分:-1)

代码工作正常,但Javascript中定义的变量不会自动存储在输出中。您必须将值放入嵌入数据字段。

1)转到Survey流程并定义一个名为choiceID的新嵌入数据字段。它的价值可以保持为空。

2)将以下行添加到您的javascript if (choiceID) {行上方的javascript。

Qualtrics.SurveyEngine.setEmbeddedData("choiceID", choiceID);

这会将变量choiceID的值发送到同名的嵌入数据字段。