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

如何在Qualtrics问卷中根据回答条件添加文本框

嘿,这个需求在Qualtrics里完全能搞定!我给你准备了两种实现方案——一种不用写代码,靠Qualtrics内置逻辑就能搞定;另一种用JavaScript动态生成,更灵活适配任意数量:

方案1:无代码实现(适合新手)

这个方法核心是用显示逻辑控制预设文本框的显示,操作简单:

  • 第一步:创建第一个问题,类型选「文本输入」,问题文本设为「您使用多少个文件?请命名它们」,然后在「验证」里设置输入格式为「整数」,确保受访者只能输入数字。
  • 第二步:在同一个Block里,创建N个(比如20个,足够覆盖大部分场景)独立的「文本输入」问题,每个问题的文本设为「文件名称:」。
  • 第三步:给每个文本框问题设置显示逻辑:
    • 第1个额外文本框:逻辑设为「如果第一个数字问题的回答 ≥1」时显示
    • 第2个额外文本框:逻辑设为「如果第一个数字问题的回答 ≥2」时显示
    • 以此类推,第K个文本框的逻辑就是「回答 ≥K」
  • 小技巧:如果担心预设数量不够,多建几个也没关系,没达到条件的文本框会自动隐藏,不会干扰受访者。
方案2:JavaScript动态生成(灵活适配任意数量)

如果想支持受访者输入任意数字(比如超过20个),就用这个方法,动态生成对应数量的文本框:

  • 第一步:先创建数字输入问题,类型「文本输入」(整数格式),给它设置一个问题ID:点击右上角齿轮→「问题选项」→「设置问题ID」,比如设为FileCount,记好这个ID后面要用。
  • 第二步:创建一个「描述性文本」问题,问题文本留空,设置问题ID为FileNamesContainer,用来承载动态生成的文本框。
  • 第三步:点击这个描述性文本问题的齿轮→「添加JavaScript」,粘贴以下代码:
Qualtrics.SurveyEngine.addOnload(function() {
    // 获取受访者输入的文件数量
    var fileCount = parseInt('${q://QID_FileCount/SelectedAnswer}');
    var container = this.getQuestionContainer();
    
    // 清空容器原有内容
    container.innerHTML = '';
    
    // 生成对应数量的文本框
    if (!isNaN(fileCount) && fileCount > 0) {
        for (var i = 1; i <= fileCount; i++) {
            // 创建标签和输入框
            var label = document.createElement('label');
            label.textContent = `文件${i}名称:`;
            
            var input = document.createElement('input');
            input.type = 'text';
            input.name = `FileName_${i}`;
            input.className = 'InputText'; // 匹配Qualtrics默认样式
            
            // 组装成一行并添加到容器
            var row = document.createElement('div');
            row.appendChild(label);
            row.appendChild(input);
            container.appendChild(row);
        }
    } else {
        container.innerHTML = '<p>请先输入有效的文件数量哦</p>';
    }
    
    // 提交页面时保存输入的文件名到嵌入式数据
    this.addOnPageSubmit(function() {
        for (var i = 1; i <= fileCount; i++) {
            var input = document.querySelector(`input[name="FileName_${i}"]`);
            if (input) {
                Qualtrics.SurveyEngine.setEmbeddedData(`FileName_${i}`, input.value);
            }
        }
    });
});
  • 注意:把代码里的QID_FileCount换成你实际设置的数字问题的QID(在数字问题的「问题选项」里能找到)。
  • 提前准备:在「调查流程」里创建嵌入式数据字段(比如FileName_1、FileName_2...),这样提交的文件名才能被保存下来,方便后续导出数据。
小提醒
  • 不管用哪种方法,一定要多测试几个数值(比如0、1、5、10),确保显示和保存都正常。
  • 用无代码方案时,记得把所有文本框和数字问题放在同一个Block里,这样显示逻辑才能实时触发。
  • 用JS方案时,确保你的调查允许自定义JavaScript(默认是开启的,要是没生效可以去「调查选项」里检查)。

内容的提问来源于stack exchange,提问作者Valeria Lobos Ossandán

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:35:00