Установите встроенные данные Qualtrics с помощью Javascript для цикла

Я работаю над опросом в qualtrics, и мне нужно иметь возможность устанавливать множество встроенных полей данных с разными значениями в зависимости от случайного выбора условий эксперимента.

В потоке опроса я ввел все названия желаемых встроенных значений данных.

Я хочу, чтобы этот код выполнялся в начале опроса, а также проходил и устанавливал значения этих встроенных переменных данных.

Причина, по которой я использую цикл for, заключается в том, что переменные называются примерно так: set1a set1b set1c

var condition  = Math.floor((Math.random() * 3) + 1)
var conditions =[ [8,8,8,5,5,5,5,2,2,2], [8,8,8,7,7,7,7,2,2,2], [10,10,10,5,5,5,5,2,2,2], [10,10,10,7,7,7,7,2,2,2]]
var values = condition[conditions]
var letters ="abcdefghij"


Qualtrics.SurveyEngine.addOnload(function(values)
{
    for (var i = 0; i < values.length; i++ ) {
        var dataname = "set1" + letters.charAt(i) 
        Qualtrics.SurveyEngine.setEmbeddedData(dataname,values[i]);
     }
 });

Однако этот код не работает. Когда я позже в опросе (после разрыва страницы) пытаюсь вызвать переменные, используя переданный текст, они не сохраняются.


person haley    schedule 01.06.2016    source источник


Ответы (1)


У вас две проблемы.

Во-первых, вы можете установить Javascript в Qualtrics, только если он находится внутри функции .addOnload, например:

Qualtrics.SurveyEngine.addOnload(function(values)
{
// Your code
});

Во-вторых, ваш метод присвоения значений выдает сообщение об ошибке.

У Qualtrics нет проблем с сохранением встроенных данных в цикле for, поэтому, если вы исправите эти две точки, все будет хорошо.

person Mike Hudecheck    schedule 21.02.2017