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

REDCap问卷:无需全组合分支逻辑实现多Y/N题后条件弹窗咨询

REDCap实现多Y/N问题任意选“否”后统一弹窗的方案

完全不需要为所有Y/Y/N这类组合设置分支逻辑,以下两种方案可以轻松实现需求:

方案一:用REDCap内置功能(无需代码)

  • 先添加一个隐藏的计算字段,变量名比如has_no,计算逻辑写:
    if([q1] = 0 or [q2] = 0 or [q3] = 0, 1, 0)
    
    这里q1、q2、q3替换成你三个Y/N问题的实际变量名,0代表“否”,1代表“是”。这个字段会自动判断:只要有一个问题选“否”,就返回1,否则返回0。
  • 进入项目的调查设置,找到调查提示模块,新增一条提示:
    • 触发条件设置为:[has_no] = 1,同时确保触发时机是在受访者完成三个问题之后(比如设置为“当用户离开当前页面时”,如果三个问题在同一页面的话)。
    • 提示类型选择“弹出警告”,填写你需要的提示文本即可。

方案二:用自定义JavaScript(更灵活)

如果你的项目允许自定义脚本,直接在三个问题所在页面添加以下代码(替换变量名即可):

$(document).ready(function() {
    // 监听下一步/提交按钮点击事件
    $('#saveForm, .btn-next').click(function(e) {
        // 获取三个问题的选中值
        var q1Val = $('input[name="q1"]:checked').val();
        var q2Val = $('input[name="q2"]:checked').val();
        var q3Val = $('input[name="q3"]:checked').val();
        
        // 判断是否存在任意一个“否”(0)
        if (q1Val == 0 || q2Val == 0 || q3Val == 0) {
            // 弹出提示框
            alert('请填写你的提示内容');
            // 如果需要阻止页面跳转,取消下面一行注释
            // e.preventDefault();
        }
    });
});
  • 注意:把代码里的q1、q2、q3换成你实际的问题变量名,按钮选择器如果和项目里的不一致,需要根据页面元素调整。

两种方案都不需要枚举所有Y/N组合,方案一适合无代码基础的用户,方案二可以自定义弹窗样式或添加更多逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 23:48:17