跳到主要内容

动作说明

显示:show

if Q1A1 then show Q2
if Q1A1 then show Q2,Q3,Q4
if Q1A1 then show Q2A1~Q2A4

条件成立时显示目标,不成立时隐藏。可用于题目、题组、选项和矩阵行。

同一个目标满足任意条件就显示,应合成 OR,不要拆成多条显示规则:

if OR(Q1A1,Q1A2) then show Q2

隐藏:hide

if Q1A1 then hide Q2

条件成立时隐藏题目,不成立时恢复。若其他规则也要求隐藏,该题仍可能隐藏。

当前 hide 用于题目或题组。隐藏选项、矩阵行时,改用相反条件的 show

if NOT(Q1A1) then show Q2A1

上例在 Q1A1 选中时隐藏 Q2A1。

动态必填:required

if Q1A1 then required Q2

条件成立时必填,不成立时取消必填。始终必填的题直接在题目设置中开启必填。

这个动作只改变必填状态,不负责显示题目。需要同时控制显示时,再配置 show

自动赋值:assignment

假设 Q1、Q2 是数字填空题,Q3 是保存合计的填空题:

assignment Q3 with SUM(DEFAULT(Q1,0),DEFAULT(Q2,0))

来源答案变化时,Q3 会重新计算。普通填空题可直接写题号;多项填空需要指定某一空。

另一个例子:Q1 是单选题,Q1A1 表示“需要发票”,Q3 是多项填空题,要填写第 2 个空:

assignment Q3A2 with IF(Q1A1,"需要发票","无需发票")

目标题型应能保存公式结果。自动计算的字段可设置为只读,避免手工修改后又被公式覆盖。不要让目标题反过来参与自己的赋值公式。

答案校验:validate

validate Q2 with IF(DEFAULT(Q2,0)>100,"不能超过100","")

Q2 是数字填空题。返回 "" 表示通过,返回文字则在 Q2 显示错误并参与表单校验;它不会修改答案。

校验可以引用其他题目,也可以读取 OCR 文字。完整用法见校验答案OCR 图片校验

动态标题:replace

Q1 是姓名填空题:

replace Q2 with CONCATENATE("你好,",DEFAULT(Q1,"访客"),",请填写联系方式")

来源答案变化时,标题会更新。公式应给出非空标题;返回空字符串不会自动恢复原题目标题。

若 Q1 是身份单选题,Q1A1 表示“企业”,可明确给出两种标题:

replace Q2 with IF(Q1A1,"请填写公司名称","请填写姓名")

跳转:branch

if Q1A1 then branch from Q1 to Q5

跳过 Q1 和 Q5 之间的题目,保留起点和终点。详见跳转和结束