REDCap是否支持将前序问题答案填充至后续问题中?
如何在问卷中实现前序问题答案的动态填充
核心逻辑
通过问卷工具的变量存储与引用功能,将第一个问题收集到的preferred_name值保存为变量,在后续问题的文本中调用该变量,即可实现自动填充效果。
常见场景的实现方案
主流问卷工具(Typeform/SurveyMonkey等)
这类工具大多支持原生变量引用:
- 第一步:创建第一个常用名字段,在后台设置变量名为
preferred_name; - 第二步:编辑第二个问题的文本时,用工具指定的语法替换占位符,比如Typeform用
{{preferred_name}},SurveyMonkey直接在编辑框插入「前序问题响应」选项; - 测试时输入「Joe」,后续问题会自动显示为「Joe是否年满12岁?」。
Google Forms(需借助脚本)
Google Forms无原生变量功能,可通过Google Apps Script实现:
- 把表单响应关联到Google Sheets;
- 编写脚本监听表单输入事件,实时读取
preferred_name的输入值; - 动态修改后续问题的文本内容,替换占位符为实际输入的名字。
自定义网页问卷
如果是自行开发的网页问卷,用前端JS即可实现:
// 获取输入框和问题元素 const nameInput = document.getElementById('preferred-name'); const ageQuestion = document.getElementById('age-question'); // 保存原始问题文本 const originalQuestion = ageQuestion.innerText; // 监听输入变化,实时替换占位符 nameInput.addEventListener('input', () => { const userName = nameInput.value || '参与者'; ageQuestion.innerText = originalQuestion.replace('<preferred_name>', userName); });
内容的提问来源于stack exchange,提问作者Melissa Singleton
相关产品推荐
相关产品推荐

