跳到主要内容

条件逻辑

条件逻辑是一个规则系统,可用于指定何时在浏览器中触发已构建的交互。例如,你可以规定,仅当用户在表单中填写了所有必填字段时,单击按钮才能将用户推进到下一页。

将条件视为与它们的交互具有“如果/则”关系:如果条件满足,则将执行交互。

你可以创建从仅影响单个交互的简单条件到控制原型每个区域的复杂分支逻辑。

创建条件


要将条件逻辑添加到交互中,请将鼠标悬停在事件名称上并单击条件。 或者,在构建交互时选择“操作”列表顶部的“添加条件”。

常见条件

在为某些小部件(例如文本字段、按钮和其他形状小部件)的交互添加条件逻辑时,您可以选择从条件生成器对话框中可用的常见条件中进行选择。

例如,如果您有一个针对文本字段部件的提交按钮,带有 点击设置错误状态 交互,您可以添加一个条件(或启用案例)并选择预填充的常见条件选项之一,例如“如果文本字段为空”。

创建条件

要创建自定义条件逻辑语句,请单击“条件生成器”对话框中的“新建条件”。 然后,您可以使用每一行中的字段配置一个或多个条件语句。

理解条件

件语句以某种方式比较两个值以产生真或假结果:

One value — How it compares to — A second value (一个值——如何与——第二个值进行比较)

例如,你可以通过以下条件验证文本是否已经填充特定的值。

text on widget — Text Field — equals — text — your value here (小部件上的文本 — 文本字段 — 等于 — 文本 — 您在此处的值)

当目标文本字段的输入文本等于右边字段中提供的值时,此条件语句的执行结果为ture。

满足“全部”或“任何”条件语句


当您为一个 案例 设置多个条件语句时,您可以决定是在所有语句的计算结果为 true 时还是仅当任何一个语句的计算结果为 true 时执行 案例。

具有多个条件案例的事件 (IF 及 ELSE)


当事件下有多个案例时,你可以使用条件逻辑来确定将在Web浏览器中执行的事件。你可以通过构建IF/ELSE链来实现。

IF/ELSE链由条件情况构成,条件之间相互依赖。仅当先前条件反馈为false而失败时,才会执行链中每个条件。一旦条件反馈为ture而通过,原型将停止执行链中的其他条件。

例如,登录表单的提交按钮具有两个条件的点击案例,他们根据用户是否提供了有效的登录凭证而执行不同的操作。


当点击按钮时,电子邮件和密码字段均包含正确值,第一个条件返回ture并执行第一个案例,打开账户仪表盘页面。第二种情况完全不会执行。
但是,如果当点击按钮时两个输入框只要有一个不包含正确的值,第一个条件返回false且第一个案例不执行。 然后原型将移至第二种情况并执行其条件。 第二种情况没有条件,因此默认情况下将执行它,并显示错误消息。

提示

在IF / ELSE链的末尾放置ELSE IF ture(无条件)是创建一个“此外”或“默认”案例的一种常见方式,该条件将在其上链中的所有其他条件失败时执行。 但是,请勿在其后放置任何其他ELSE案例,因为ELSE IF true案例会自动执行为true,所以永远不会执行条件。

上面的示例非常简单,但是你可以根据需要向链中添加任意多个ELSE案例。 例如,上面的点击事件可能包括另一种ELSE情况,在该错误消息的情况下,当你登录到管理员帐户时打开管理员用户资料。 仅当为管理员和非管理员帐户输入都错误时,才会显示错误消息。

创建多个IF / ELSE链

默认情况下,事件下的第一个条件情况是IF情况,随后的所有情况都是IF / ELSE链中的ELSE情况。 你可以通过将ELSE案例更改为IF案例来创建其他IF / ELSE链。 为此,请右键单击案例名称,然后选择“切换IF / ELSE”。

IF案例的条件总是在Web浏览器中评执行,并且每个IF案例都将启动其自己的IF / ELSE链。 当你要彼此独立地评估多个条件时,请创建多个链。

例如,注册表单的“提交”按钮在其点击事件下可能具有两个IF / ELSE链,一个确定用户是否选择了订阅新闻通讯,另一个确定用户是否填写了所有必填字段。

如果单击“提交”按钮时选中了“新闻通讯”复选框,则第一种情况的条件将评估为true,并且NewsletterVar变量的值将设置为“ true”。
然后,无论第一个案例的结果如何,都将执行第二个案例的条件。 如果用户同时填写了两个文本字段,则条件将执行为true,并将用户定向到“帐户设置”页面。 将不执行第三种情况的条件,因为它是第二种情况的IF / ELSE链中的ELSE情况。
但是,如果一个或两个文本输入框为空白,则第二种情况的条件将失败,并且原型将移至第三种情况,这将显示一条错误消息。