2016-04-21 2 views
1

Я создаю пилотный опрос в Qualtrics, чтобы убедиться, что все мои вопросы понятны и понятны. По каждому вопросу я хочу добавить флажок или какую-либо другую функцию, чтобы респонденты могли поставить этот вопрос как плохо сформулированный или трудный для понимания. Флажок появится под вариантами ответа или текстовыми полями. Есть ли способ сделать это с помощью редактора JavaScript в Qualtrics?Qualtrics JavaScript Добавить флажок в Flag Вопросы

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

Решение, с которым я столкнулся, заключается в том, чтобы создать флажок перед каждым вопросом и сохранить, был ли установлен флажок во встроенных данных.

question

Во-первых, я создаю поле внедренный данных с именем check1_d в Survey Flow.

Во-вторых, я вставляю флажок в HTML-текст вопроса.

<input id="check1" type="checkbox" value="1" /> <p>What is your favorite color?<p> 

Наконец, я добавляю следующее редактору JavaScript, чтобы записать ответ на мой вложенной области данных check1_d. Но эта часть не работает. Кто-нибудь знает, как записывать, нажали ли люди на поле во встроенное поле данных?

var mycheck = String(document.getElementById("check1").check); 
Qualtrics.SurveyEngine.setEmbeddedData("check1_d", mycheck); 

ответ

2

incaren правильно на .Checked атрибут, но я думаю, что у вас есть другие вопросы. Вам нужен прослушиватель событий, иначе вы просто сохраните начальный статус этого флажка. Кроме того, перед блоком вопросов вам необходимо определить встроенную переменную check1_d в потоке опроса.

Ниже приведен код, который будет работать. Поскольку Qualtrics использует prototypejs, код ниже использует его. Вместо сохранения «true» и «false» в качестве строк, он сохраняет 1 для true и 0 для false.

Qualtrics.SurveyEngine.addOnload(function() { 
    var mycb = $('check1'); 
    Qualtrics.SurveyEngine.setEmbeddedData("check1_d", +mycb.checked); 
    mycb.on('click', function (event, element) { 
     Qualtrics.SurveyEngine.setEmbeddedData("check1_d", +element.checked); 
    }); 
}); 
1

Это похоже, что это, вероятно, просто опечатка с атрибутом .Проверить:

var mycheck = String(document.getElementById("check1").check); 
// Should instead be 
var mycheck = String(document.getElementById("check1").checked); 
Qualtrics.SurveyEngine.setEmbeddedData("check1_d", mycheck); 
+0

К сожалению, я допустил ошибку при написании на своем посту, а не в реальной жизни. Но спасибо в любом случае! – yaleeconjournal

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