Qualtrics JavaScript 添加复选框以标记问题
Qualtrics JavaScript Add Checkbox to Flag Questions
我正在 Qualtrics 中创建一个试点调查,以确保我的所有问题都清晰易懂。对于每个问题,我想添加一个复选框或其他一些功能,以便受访者可以将问题标记为措辞不当或难以理解。复选框将出现在答案选项或文本框下方。有没有办法通过 Qualtrics 中的 JavaScript 编辑器来做到这一点?
我不想在每道题之后单独问一个问题来问上一道题是不是不清楚。它会占用太多 space 并惹恼受访者。
到目前为止我想到的解决方案是在每个问题前创建一个复选框,并保存是否单击该复选框以嵌入数据。
首先,我在 Survey Flow 中创建了一个名为 check1_d
的嵌入式数据字段。
其次,我在问题文本的 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);
这看起来可能只是 .check 属性的错字:
var mycheck = String(document.getElementById("check1").check);
// Should instead be
var mycheck = String(document.getElementById("check1").checked);
Qualtrics.SurveyEngine.setEmbeddedData("check1_d", mycheck);
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);
});
});
我正在 Qualtrics 中创建一个试点调查,以确保我的所有问题都清晰易懂。对于每个问题,我想添加一个复选框或其他一些功能,以便受访者可以将问题标记为措辞不当或难以理解。复选框将出现在答案选项或文本框下方。有没有办法通过 Qualtrics 中的 JavaScript 编辑器来做到这一点?
我不想在每道题之后单独问一个问题来问上一道题是不是不清楚。它会占用太多 space 并惹恼受访者。
到目前为止我想到的解决方案是在每个问题前创建一个复选框,并保存是否单击该复选框以嵌入数据。
首先,我在 Survey Flow 中创建了一个名为 check1_d
的嵌入式数据字段。
其次,我在问题文本的 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);
这看起来可能只是 .check 属性的错字:
var mycheck = String(document.getElementById("check1").check);
// Should instead be
var mycheck = String(document.getElementById("check1").checked);
Qualtrics.SurveyEngine.setEmbeddedData("check1_d", mycheck);
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);
});
});