Often you may need to display some text or calculate a value in a dynamic fashion. For example, you may want to show different text in a field based on what the user has previously answered. Or maybe you have a product order Form that should calculate the total amount to pay. This is where the Dynamic Value property found on most form fields comes in handy. Dynamic Values allow you to create a formula that generates or calculates a result that is assigned as the given field's answer.
So, for example, imagine you have the following Form fields:
"Enter Product Name" - a Text field with Data Name of productName
"Enter Product Cost" - a Number field with Data Name of productCost
"Enter Number of Items" - a Number field with Data Name of numberItems
- Add a new Hidden field to your Form, and set the Data Name to be "totalIncludingTax"
- On this new field, find the Dynamic Value property. It is found near the bottom of the properties list in the Advanced section.
- Enter the following formula into the Dynamic Value:
{{productCost}} * {{numberItems}} * 1.10
What we've done so far is add a hidden field (a field the app user will never see), which will store the result of the formula calculation. The formula applies a 10% tax rate to the product cost amount. This is the first example of how you can use the Dynamic Value property to calculate results.
Now, we will use Dynamic Value again to display a message to the app user. We want to summarize their order details using a read-only Text field.
- Add a new Text field to your Form and set the Data Name as "orderSummary."
- Find the Read Only property and tick the box. This will make the field read-only so the user cannot change the displayed answer text.
- Find the Dynamic Value property and enter the following formula:
CONCAT('You ordered ', {{numberItems}}, ' of ', {{productName}}, '. Total (including tax) is: ', {{totalIncludingTax}})
What we're doing with the above formula is building up dynamic text by concatenating together pieces of text.
The CONCAT() function is used to build up the final text from the values from the various fields (the {{dataName}} bits).
See the Creating a Formula page to learn more about how a formula works.