返回

Qualtrics 单选题答案预填充指南:详细步骤和常见问题解答

javascript

Qualtrics 中预填充单选题答案的完整指南

在进行在线调查时,使用 Qualtrics 可以有效收集数据和见解。如果您想预填充单选题的答案,以便受访者更容易地完成调查,那么本指南将为您提供分步说明。

创建嵌入式数据变量

为了存储您希望预先填充的答案,您需要创建一个嵌入式数据变量。转到“嵌入式数据”选项卡,然后单击“新建”按钮。为变量命名“choice”,然后添加以下字段:

  • qid: 将此字段设置为要预先填充其答案的问题 ID。
  • questionText: 将此字段设置为问题的文本。
  • answer: 将此字段设置为选定答案的 HTML。

在提交时存储答案

要存储用户在页面提交时的答案,请使用 addOnPageSubmit 事件监听器。在事件处理函数中,获取选中的答案并将其与问题 ID 和问题文本一起存储在嵌入式数据变量中:

Qualtrics.SurveyEngine.addOnPageSubmit(function(){
    var answer = this.questionContainer.querySelector(".q-checked")
    var qid = this.questionId;
    var questionText = this.questionContainer.querySelector(".QuestionText").innerText;
    Qualtrics.SurveyEngine.setEmbeddedData("choice", {
        qid: qid,
        questionText: questionText,
        answer: answer.outerHTML
    });
});

在加载时预填充答案

要在后续页面中预先填充答案,请使用 addOnPageLoad 事件监听器。在事件处理函数中,获取嵌入式数据变量中的答案,并将其插入到当前问题的文本中:

Qualtrics.SurveyEngine.addOnPageLoad(function(){
    var data = Qualtrics.SurveyEngine.getEmbeddedData("choice");
    if (data) {
        var qid = this.questionId;
        if (qid == data.qid + 1) {
            this.questionContainer.querySelector(".QuestionText").insertAdjacentHTML("beforeend", data.answer);
            this.questionContainer.querySelectorAll("input[type=radio]").forEach(function(radio) {
                radio.disabled = true;
            });
        }
    }
});

常见问题解答

1. 如何禁用单选按钮?

this.questionContainer.querySelectorAll("input[type=radio]").forEach(function(radio) {
    radio.disabled = true;
});

2. 如何处理同一页面上的多个单选题?
使用不同的嵌入式数据变量名称为每个问题存储答案。

3. 如何仅在特定条件下预填充答案?
addOnPageLoad 事件处理函数中添加条件语句以检查条件。

4. 如何处理答案更新?
addOnPageSubmit 事件处理函数中,在嵌入式数据变量中更新答案。

5. 如何处理答案错误?
使用 try-catch 块来处理错误,并在出现错误时显示友好消息。

结论

通过遵循本指南,您可以轻松地预填充 Qualtrics 中单选题的答案,从而简化调查流程并提高受访者的完成率。预先填充答案可以节省受访者的宝贵时间,并确保收集的数据更准确和可靠。