Web Form Software from logiforms.com logiforms.com - Easy-to-Use HTML Form Software for building order forms, Email Forms, secure forms and other web forms. Our web-based form builder makes building online forms easy. No Programming Required. Build your Order Form or Secure Form in minutes. No HTML required.


Calculation Syntax (How to write calculations)


Building Calculations
Calculations must conform to these rules exactly or the form will generate Javascript Errors. You will know there is a problem with your calculations when there is a yellow Explanation icon in the lower left corner of the browser window. Start with a simple calculation and build on it, testing it often. If you get stuck, please contact a support representative and they will review your calculation and help you through this process.

Overview
Calculations are attached to calculation fields. These fields will typically display a value to the user, although they are also permitted as hidden fields. Calculations are executed from the top down, please bear this in mind when laying out your form. A calculation can be as simple as adding two fields on the form and displaying the total or as advanced as an IF/THEN/ELSE statement that intelligently determines the calculation value.

Basic Calculation Statements (No IF/THEN/ELSE)
An example of a basic statement to set the value of a calculation field would be:

[subtotal]=[subtotal]+300
or to completely replace the value in the subtotal field:
[subtotal]=300


Where SUBTOTAL is the name of the calculation field. This simple expression would ADD 300 to the current value of the SUBTOTAL field.

Another example, which calculates the total of 2 fields and displays the result as the TOTAL might look like this:

[subtotal]=[subtotal]+[Shipping]+[tax]

When writing these statements you can use parenthesis to breakdown the equation:

[subtotal]=[subtotal]+(([Shipping]+[tax])-[Discount])

IF/THEN/ELSE Statements
The real power of the calculation fields comes from the ability to create IF/THEN/ELSE statements. These work the way they sound. They first check a form field values and if it matches a particular value, then the specified calculation is executed. Here is an example:

Example of an IF/THEN statement:

IF [STATE] = 'California' THEN
[tax]=[subtotal]*.07
ENDIF


In the above example, the field [STATE] was checked to see it equaled "California". If a match was made (THEN), the tax field was set to the value of the subtotal field multiplies by 0.7 to arrive at the sales tax for California residents.

Important Formatting Guidelines
These guidelines must be followed very closely:
1. The value you are evaluating MUST be inside single quotes (ie. 'California')
2. The field name must always match a field name on your form (ie. [STATE]).
3. You must have the "THEN" keyword" at the end of every line that starts with IF, or ELSEIF.
4. You do not need the "THEN" keyword after the final ELSE statement as in the example below.
5. The "ENDIF" keyword must be included at the end of the equation and it must be as shown here.


Example of an IF/THEN/ELSE statement:
This next example shows how to use the ELSE statement to run a calculation when the IF statement does not equal TRUE.

IF [STATE] = 'California' THEN
[tax]=[subtotal]*.07
ELSE
[tax]=0
ENDIF


**When using the ELSE STATEMENT, the next two rows must contain a calculation and then the ENDIF statement.

Example of an IF/THEN/ELSEIF statement:
In this example, multiple statements are evaluated. The statement is executed from the top down. When the first "IF" statement does not match, the next "ELSEIF" clause if run. If it matches, the calculation following the "THEN" keyword is executed. If there is no match, the next "ELSEIF" is run and so on. This repeats to the end of the statement. If there are no matches, and the statement includes a "ELSE" keyword at the bottom, the final calculation (the default) will execute.

IF [STATE] = 'California' THEN
[tax]=[subtotal]*.07
ELSEIF [STATE] = 'Washington' THEN
[tax]=[subtotal]*.05
ELSE
[tax]=0
ENDIF

The IF/THEN/ELSE statement can be continued in this fashion to support an unlimited number of ELSEIF statements. You can also make the statements being evaluated more complex by using the two operators "AND/OR" while using parentheses. Here is an example of

IF ([STATE] = 'California' OR [STATE] = 'OHIO') AND [CHARGETAX]='TRUE' THEN
[tax]=[subtotal]*.07
ENDIF

In the above example (the tax calculations are fictional and inaccurate!) the STATE field is checked to see if it equals either "California" or "Ohio". Because of the parenthesis, this statement is executed first. Then, the AND operator is used to check and see if a flag labeled "CHARGETAX" equals TRUE. If it does, then the tax is calculated.

NESTED IF STATEMENT
There is currently no support for nested if statements.

MULTIPLE IF/THEN/ELSE STATEMENTS PER CALCUALTION FIELD
You can include multiple IF/THEN/ELSE statements within a calculation field. To do this, simply leave a line feed at the end of the first statement and start the next one. Here is an example:

IF [STATE] = 'California' THEN
[tax]=[subtotal]*.07
ELSEIF [STATE] = 'Washington' THEN
[tax]=[subtotal]*.05
ELSE
[tax]=0
ENDIF

IF [SUBSCRIPTION] = '12 months' THEN
[subtotal]=[subtotal]+1200
ELSEIF [SUBSCRIPTION] = '6 months' THEN
[subtotal]=[subtotal]+700
ENDIF


The following operators are available when building calculations:

Criteria Operators: =,<>,>,<
Boolean Operators: AND OR
Math Operators: +,-,*,\


Conclusion
Creating complex calculations is fairly easy using this limited subset of keywords and IF/THEN/ELSE statements. However, the syntax of the statements is not validated and it can be easy to forget a word, or forget a statement. Be sure to test your calculations often and always start with a simple statement and build on it. If when you return to your form, it generates javascript errors, you should carefully review the calculation for errors. If you can not find the error, send the name of the form and the calculation field to support and a representative will help you to complete the calculations.



Return to KB Article Index


Sign up now and get FREE "10 Steps For Creating Stunning Web Forms That Get A Response -- Quick And Easy"

PDF Form Population
HACKER SAFE certified sites prevent over 99.9% of hacker crime.

Have a specialist contact me
Call 1-866-403-8464 in USA or 1-206-384-4671
Join our Monthly Newsletter
A great Resource for web masters with valuable tips on building your online business.

Sample Forms



"In a short time we had a great end result and I am totally satisfied with what Logiforms did for the Carolinas PGA and our membership survey."

Ron Schmid, PGA
Executive Director
Carolinas PGA Section


"We use the web based submission management system provided by Logiforms to manage all our online customer inquiries, downloads, and support. When we want to send an e-mail about any updates to our prices or software, we simply create one e-mail, hit the button, and presto Logiforms takes care of the rest."

Shahid Shah
Marketing Manager
Netspective Corporation


Web Design Resources
Check out these other great sites.



Home | Form KB | Affiliates | Affiliate Login | Features and Functionality | Support | Privacy Policy | Terms of Use | Contact

Copyright 2010 logiforms