javascript - Qualtrics Javascript 不保存响应

标签 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 变量。我尝试过类似的其他变体;它们都很好地通过屏幕,但我的数据文件中没有变量。

任何帮助将不胜感激!我完全被难住了。

最佳答案

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

1) 转到调查流程并定义一个新的嵌入数据字段,例如名为 choiceID 的字段。它的值可以保留为空。

2) 在 JavaScript 中包含 if (choiceID) { 的行上方插入以下行。

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

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

关于javascript - Qualtrics Javascript 不保存响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40005305/

相关文章:

jquery - 限制输入特定字符

javascript - Keydown 和 keyup 事件监听器工作正常

javascript - 隐藏 Qualtrics 库日历,直到输入字段获得焦点/被单击

javascript - 基于类别的过滤数组

javascript - key 代码 13 不起作用

javascript - Highchart 范围选择器文本框的奇怪行为。

javascript - Qualtrics API 在放入自定义 JavaScript 时不起作用

javascript - 从 Qualtrics 页面删除 "Next"按钮

javascript - 当我在 eclipse 浏览器中运行 url 时,HTML 表单未被验证它不起作用

javascript - 如何使 FullCalendar 在触摸事件时适用于移动设备?