4

重力形式允许使用合并标签进行基本字段计算,例如{Field 1:1} * {Field 2:2},但我想使用 if/and/else 语句来设置字段值,例如:

if (and ({Field 1:1} = 200,{Field 2:2} = 1), 100, if (and ({Field 1:1} = 200,{Field 2:2} = 2), 150, if (and ({Field 1:1} = 200,{Field 2:2} > 2), 200, 0)))

或者换句话说:

if (field_1 = 200) { if (field_2 = 1) { field_3 = 100 } else if (field_2 = 2) { field_3 = 150 } else { field_3 = 200 }

希望有人能给我一些关于如何在重力形式中包含这种计算的想法。

仅供参考:这是我正在处理的表格。我希望使用公式而不是“Course 1 week 1 topup”条件字段的 21 种不同变体,这些变体仅在选择课程 1 和第 1 周时出现。

谢谢!

4

3 回答 3

4

不确定您是否已经知道这一点,但对于数字计算,我发现我可以使用条件逻辑和默认值部分解决问题。我正在使用重力形式 1.7.2。

基本思想是在您的表单中添加一个新的数字字段,该字段使用条件逻辑,以便在您的条件为真时显示,否则不显示。确保为该字段提供一个对您的应用程序有意义的默认值。

现在,如果您在计算中包含新的数字字段,如果该字段被隐藏(您的条件为假),它将采用值 0,如果该字段显示(您的条件为真),则采用您选择的默认值。

例子:

字段 0:标签:“汉堡成本”;类型:数字;默认值:10

字段 1:标签:“额外的奶酪?”;类型:单选按钮;选择“是”、“否”

字段 2:标签:“额外奶酪的成本”;类型:数字;条件逻辑:如果 Extra Cheese 为“是”,则显示此字段;默认值:2.50

字段 3:标签:“总成本”;类型:数字;启用计算:{Cost of Hamburger} + {Cost of Extra Cheese}

如果额外奶酪为“否”,您应该会发现总成本字段显示 10,但是当您将额外奶酪更改为“是”时,总成本将更改为 12.50。

希望这对某人有帮助!

于 2013-05-07T22:25:15.850 回答
1

Gravity Forms 确认目前无法在其公式中包含 if/and/else 语句(Gravity Forms v1.6.4)。

希望在未来的版本中看到这一点!

于 2012-06-26T12:31:21.527 回答
1

您可以通过一系列字段来完成此操作。假设您的答案是 840

  1. 添加字段:计算实际总数并除以 100。(结果 8.4)
  2. 添加一个字段:计算实际总数并除以 100 - 然后将其四舍五入到小数点后 0。(结果 8)
  3. 添加字段:计算差值 (0.4)
  4. 添加一个字段:使用条件逻辑添加 1(数字 1),如果差异 > 0,那么它就在那里。(结果 1)
  5. 添加总和(2 的结果加上 4 的结果)* 100。结果:900。
于 2014-04-14T15:51:31.297 回答