You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qualtrics能否实现基于前置值的自动填充功能?

Qualtrics输入ID自动填充姓名实现方案

问题背景

  • 作为Qualtrics新手,需实现输入唯一ID后自动填充对应姓名的功能,尝试过Drill Down组件无法满足需求(仍需手动选择)
  • 查阅「嵌入式数据」和「通过查询字符串传递信息」相关文档,但未能理解用法,询问是否支持该功能

实现方案

Qualtrics完全支持这类自动填充需求,推荐使用嵌入式数据+JavaScript组合实现,步骤如下:

1. 准备ID-姓名映射数据

将你的唯一ID与对应姓名整理成键值对,示例:

// 可根据实际数据扩展
const idNameMapping = {
  "EMP001": "张三",
  "EMP002": "李四",
  "EMP003": "赵六"
};

2. 添加嵌入式数据字段

在「问卷流程(Survey Flow)」中新增一个嵌入式数据字段(例如命名为UserFullName),用于存储匹配到的姓名,确保字段在问卷开头位置,可在后续流程中调用。

3. 设置ID输入问题

添加一个「文本输入」类型的问题,设置为仅接收文本/数字,作为用户输入唯一ID的入口。记录该问题的Question ID(可在问题设置的「高级」选项中查看)。

4. 编写JavaScript实现自动填充

在ID输入问题上添加JavaScript脚本,监听输入内容变化,自动匹配并填充姓名:

Qualtrics.SurveyEngine.addOnReady(function() {
  // 获取ID输入框元素
  const idInput = document.querySelector('input[type="text"]');
  // 替换为你用来显示姓名的问题ID
  const nameQuestionId = "QID3";
  // 替换为你的ID-姓名映射数据
  const idNameMapping = {
    "EMP001": "张三",
    "EMP002": "李四"
  };

  // 监听输入变化
  idInput.addEventListener('input', function() {
    const inputId = this.value.trim();
    const matchedName = idNameMapping[inputId];
    
    if (matchedName) {
      // 填充姓名到指定问题输入框
      document.querySelector(`#${nameQuestionId} input`).value = matchedName;
      // 将姓名存入嵌入式数据
      Qualtrics.SurveyEngine.setEmbeddedData("UserFullName", matchedName);
    } else {
      // ID不存在时清空姓名输入框
      document.querySelector(`#${nameQuestionId} input`).value = "";
    }
  });
});

5. 可选:批量数据处理

如果ID-姓名数据量较大,可将数据上传至Qualtrics「联系人列表」,通过嵌入式数据批量导入映射关系,避免在脚本中写入大量数据。

相关文档概念说明

  • 嵌入式数据:用于在问卷流程中存储和传递信息,可保存外部导入数据或问卷内生成的临时数据,在整个问卷周期中可调用。
  • 通过查询字符串传递信息:适用于从外部链接打开问卷时,提前通过URL参数传递数据自动填充,无需用户手动输入ID,与当前场景适配性较低。

内容的提问来源于stack exchange,提问作者LearningSoFar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 01:07:15