2016-01-25 4 views
1

Я надеялся, что у кого-то может быть некоторое понимание, которое вы могли бы предложить по проблеме, с которой я столкнулся с Qualtrics. Просто, я хочу, чтобы Qualtrics оценивала содержимое числового поля (то есть номер медицинской записи, берет пять правильных символов, а затем сравнивает его с массивом случайных чисел и возвращает значение 1, если оно находится в списке, и 0, если его нет в списке). Похоже, что это должно быть легко, но поскольку Qualtrics не предлагает поддержки по использованию Javascript, когда код, который я подготовил, не работал, мне не было никого, кого я мог бы назвать об этом ... тогда я нашел ваш пост в StackOverflow и подумал Я бы спросил.Оценка состояния в qualtrics после нажатия следующей кнопки

я основывался мой ответ на решение найдено на: In Qualtrics Surveys, how can you save the response to an item into embedded data when the next button is clicked?

Это год и я думал, мое решение может потерпеть неудачу, потому что реализация Qualtrics использует не поддерживает это больше. Кто знает.

Я создал упрощенную версию:

Qualtrics.SurveyEngine.addOnload(function() 
{var currentQuestionID = this.getQuestionInfo().QuestionID; 
    var resultEmbeddedName = "MRN_RND"; 
    $('NextButton').onclick = function (event) { 
     var responseTextField = document.getElementById(currentQuestionID); 
     var randomizercheck = responseTextField.value; 
     Qualtrics.SurveyEngine.setEmbeddedData(resultEmbeddedName, randomizercheck); 
     Qualtrics.SurveyEngine.navClick(event, 'NextButton'); 
}; 
}); 

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

ответ

0

Это взлом, не лучшее решение. Попробуйте заменить:

var currentQuestionID = this.getQuestionInfo().QuestionID; 

С:

var currentQuestionID = Object.keys(Qualtrics.SurveyEngine.QuestionInfo)[0]; 

Это предполагает, что вы не имеете несколько вопросов на странице.

1

Основная проблема заключается в том, что responseTextField не является полем ввода. Кроме того, я думаю, вы, вероятно, захотите вызвать событие, когда изменяется ввод текста, а не при нажатии кнопки «Далее». Попробуйте это:

Qualtrics.SurveyEngine.addOnload(function() 
{ 
    var currentQuestionID = this.questionId; 
    var resultEmbeddedName = "MRN_RND"; 
    var responseTextField = $(currentQuestionID).select('input.InputText').first(); 
    responseTextField.observe("keyup", function (event) { 
     var randomizercheck = responseTextField.value; 
     Qualtrics.SurveyEngine.setEmbeddedData(resultEmbeddedName, randomizercheck); 
    }; 
}); 

Примечание: Вы должны определить встроенную переменную MRN_RND в потоке обследования перед выполнением блока с вводом текста вопроса о.

 Смежные вопросы

  • Нет связанных вопросов^_^