=== Calculated Fields Form Professional ===
Contributors: codepeople
Donate link: http://cff.dwbooster.com
Tags: form,quote form,contact form,form builder,calculator form
Requires at least: 3.0.5
Tested up to: 6.7
Stable tag: trunk
License URI: https://cff.dwbooster.com/terms

The CFF plugin allows you to create both simple and professional forms. Its form builder includes dynamic calculated fields and many other controls.

== Description ==

Absolutely! The "Calculated Fields Form" plugin opens up a world of possibilities. Here's a breakdown of what you can achieve:

**Financial Calculations**: Design forms that automatically compute totals, taxes, discounts, and other financial metrics.

**Booking Forms**: Seamlessly handle date operations, availability checks, and booking calculations.

**Product Pricing**: Dynamically calculate product prices based on user inputs or predefined rules.

**Math Operations**: Perform basic arithmetic, percentages, and complex mathematical functions.

**Text Processing**: Manipulate text fields, concatenate strings, and format data.

**Date Operations**: Handle date differences, age calculations, and time-related tasks.

Advanced Operations:

**Distance Calculations**: Compute distances between locations.

**Chart Generation**: Create charts dynamically based on form data.

**Third-Party Service Integration**: Call external APIs or services for real-time data retrieval.

And the best part? All resulting forms are **mobile responsive**, ensuring a seamless experience across devices.

The most remarkable aspect is that you don’t need to hire a developer to create forms. With basic knowledge, you can have professional forms in minutes.

The form builder is entirely visual, offering a wide selection of controls (Text fields, Numbers, Currency, Date/time, Slider control, Email, Radio buttons, Checkboxes, Container fields, Multi-page control, QR code reader, Recording, Calculated fields, and many others). This versatile toolkit empowers you to create customized forms effortlessly.

== Features ==

= Main features: =

* Visual [form builder](https://cff.dwbooster.com/documentation#form-builder) with an intuitive and interactive interface.
* Includes [general-purpose controls](https://cff.dwbooster.com/documentation#common-fields) such as radio buttons, checkboxes, menu lists, date fields, slider controls, numeric fields, text currency fields, etc.
* Includes [calculated fields](https://cff.dwbooster.com/documentation#calculated-fields-settings) whose values result from operations involving other form fields.
Insert as many calculated fields in the form as you need.
* Contains an advanced formula editor associated with the calculated fields with syntax highlighting and error detection.
* Features many operations modules: [mathematical operations](https://cff.dwbooster.com/documentation#mathematical-module), [operations with dates](https://cff.dwbooster.com/documentation#datetime-module), [financial operations](https://cff.dwbooster.com/documentation#financial-module), [distance operations](https://cff.dwbooster.com/documentation#distance-module), text management, [operations for calling remote services](https://cff.dwbooster.com/documentation#connection-module), etc. The calculated fields can identify numbers and prices within the values of the fields.
* Send [notification emails](https://cff.dwbooster.com/documentation#email-settings) with the data collected by the form.
* Distributed with several predefined forms that you can use as a starting point for your projects.
* Includes several [design templates](https://cff.dwbooster.com/templates).
* Supports multi-pages forms by inserting page break controls between fields belonging to different pages.
* Allows the grouping of fields inside container controls (Div and Fieldset).
* Possible to define [dependency rules](https://cff.dwbooster.com/blog/2020/03/01/dependencies/) between fields in the form, which is very useful in the design of wizards.

The "Calculated Fields Form" plugin includes integration with popular page builders:

* Classic WordPress Editor
* Gutenberg Editor
* Elementor
* Page Builder by SiteOrigin
* Beaver Builder
* WPBakery Page Builder
* DIVI Builder

For other editors, it is possible to insert the form into the pages via its shortcode. Each web form has an associated shortcode that allows you to insert it wherever you want.

`[CP_CALCULATED_FIELDS id="1"]`

= Other features: =

* From the plugin configuration page, it is possible to duplicate a form by pressing the "Clone" button associated with it. By cloning a form, you can reuse the work already done.
* Includes a troubleshooting and optimization area.
* Allows you to disable forms in the indexing process to improve the speed of the website.
* Includes a version control in the forms to recover previous versions.

= Predefined forms: =

"Calculated Fields Form" is distributed with five predefined sample forms.

1. Simple Calculator Operations
2. Calculation with Dates (bookings with check-in and check-out dates)
3. Ideal Weight Calculator
4. Pregnancy Calculator
5. Lease Calculator

You can clone a sample form to implement your project, or create a new form from scratch.

> <strong>Calculated Fields Form Commercial</strong><br />
>The free version of the "Calculated Fields Form" plugin includes only basic functionality. Other distributions (Professional, Developer, and Platinum) are available with advanced functionalities, such as sending notification emails, integration with payment gateways and external services, controls for database's connection (and connection to other data sources), complex operations, and many other features.

= Features of the Professional version: =

* Includes all the features of the free version of the plugin.
* Submit the data collected by the forms and [store it on the website](https://cff.dwbooster.com/documentation#check-submissions) for review.
* Send [confirmation emails](https://cff.dwbooster.com/documentation#copy-user) to the users with the data collected by the form.
* [Integrate the form with PayPal](https://cff.dwbooster.com/documentation#paypal-settings) and calculate the amount to be charged through a calculated field.
Payments allow SCA (strong customer authentication), compatible with the new payment services (PSD 2) - Directive (EU).
* [Export and import forms](https://cff.dwbooster.com/documentation#import-export-form) between different WordPress sites.
* Different mechanisms to protect forms, such as [captcha](https://cff.dwbooster.com/documentation#captcha-settings), WordPress nonces, and honeypot fields.
* Associate "Thank You" page with the form, where you can show a summary of the form's submission.
* Dashboard widget to show the last week's submissions.
* Cache the forms to increase the rendering speed.
* [Export the information submitted](https://cff.dwbooster.com/documentation#export-submissions) by the forms to a CSV file and use it with third-party tools such as Excel, OpenOffice, LibreOffice, or any other spreadsheet editor.

= Features of the Developer version: =

* Includes all the features of the free and Professional version of the plugin.
* Advanced [controls that connect to different data sources](https://cff.dwbooster.com/blog/2019/02/14/ds/) (databases, CSV files, posts, taxonomies, user information, and JSON objects).
* [Financial operations module](https://cff.dwbooster.com/documentation#financial-module).
* [Date and time operations module](https://cff.dwbooster.com/documentation#datetime-module).
* [Distance and travel time operations module](https://cff.dwbooster.com/documentation#distance-module) uses "Google Maps".
* [Chart.js operations module](https://cff.dwbooster.com/documentation#chart-module) to generate charts with the form data. Uses the ChartJS.org library.
* A script that allows the developer to save the data collected by the form in an [external database](https://cff.dwbooster.com/documentation#third-party-database).

**Includes add-ons to extend the form features and make use of third-party plugins and external services**

* [Server-Side Equations add-on](https://cff.dwbooster.com/add-ons/server-side-equations): define server-side equations.
* [Verification Code add-on](https://cff.dwbooster.com/add-ons/verification-code): verifies the user's email by sending him a verification code and blocking the form's submission until the verification code is entered.
* [WooCommerce add-on](https://cff.dwbooster.com/add-ons/woocommerce): integrate forms with WooCommerce products and calculate their prices, dimensions, and weight at the runtime.
* [SalesForce add-on](https://cff.dwbooster.com/add-ons/salesforce): integrate the form with the SalesForce service.
* [WebHooks add-on](https://cff.dwbooster.com/add-ons/webhook): send the information collected by the form to a WebHook URL to open countless possibilities. By connecting your form to services such as Zapier, Microsoft Flow, IFTTT, Workato, and others, you can connect to hundreds of third-party services (e.g. Zoho CRM, Dropbox, Mailchimp, Google Drive, Facebook, Twitter, etc.).
* [User Permissions add-on](https://cff.dwbooster.com/add-ons/users-permissions): control the forms' access, as well as allowing users to access and edit their data.
* [User Registration Form add-on](https://cff.dwbooster.com/add-ons/user-registration-form): build a user registration form that captures the user's basic information and metadata.
* [reCAPTCHA add-on](https://cff.dwbooster.com/add-ons/recaptcha): replace the basic captcha with Google reCAPTCHA to protect the forms.

= Features of the Platinum version: =

* Includes all the features of free, Professional, and Developer versions of the plugin.

**Extending features add-ons**

* [CSV Generator add-on](https://cff.dwbooster.com/add-ons/csv-generator): export the information collected by the form to CSV files and attach these to the notification emails.
* [PDF Generator add-on](https://cff.dwbooster.com/add-ons/pdf-generator): generate PDF files with the information collected by the forms and attach them to the notification emails.
* [Signature add-on](https://cff.dwbooster.com/add-ons/signature): convert form fields into "Signature" fields, allowing the users to sign the form with a mouse or touchscreen.
* [Unique Fields Values add-on](https://cff.dwbooster.com/add-ons/uniquefieldsvalues): verifies that the values entered by users have not been used in previous submissions.
* [iCal add-on](https://cff.dwbooster.com/add-ons/ical): send iCal file in the notification emails to import the events into most popular calendars like Outlook and Google Calendar.
* [Upload Files add-on](https://cff.dwbooster.com/add-ons/upload): add uploaded files to the media library and extend the file types accepted by WordPress.

**Payment Gateways add-ons**

* [PayPal Pro add-on](https://cff.dwbooster.com/add-ons/paypal-pro): enable the payer's credit card details to be entered directly through the website without any redirection to the PayPal website.
* [PayPal Checkout add-on](https://cff.dwbooster.com/add-ons/paypal-checkout): enable PayPal Checkout integration. Supports more payment methods than PayPal Standard.
* [Authorize.Net add-on](https://cff.dwbooster.com/add-ons/authorize): accept payments via Authorize.Net from the form.
* [Stripe add-on](https://cff.dwbooster.com/add-ons/stripe): accept payments via the Stripe payment gateway from the form.
* [Skrill Payments Integration](https://cff.dwbooster.com/add-ons/skrill) add-on: integrate with the Skrill Moneybookers payment gateway.
* [TargetPay (iDeal) add-on](https://cff.dwbooster.com/add-ons/targetpay) add-on: integrate with iDeal, the popular Dutch payment method.
* [Mollie (iDeal) add-on](https://cff.dwbooster.com/add-ons/mollie): accept payments via iDeal.
* [RedSys / Servired / Sermepa add-on](https://cff.dwbooster.com/add-ons/redsys) provides: a secure interface for accepting credit card payments from most banks in Spain.
* [PayTM add-on](https://cff.dwbooster.com/add-ons/paytm): a secure interface for accepting payments with credit cards, debit cards, net banking, wallets, and EMI.
* [SagePay add-on](https://cff.dwbooster.com/add-ons/sagepay): a secure interface for accepting payments via SagePay.
* [Sage Payment add-on](https://cff.dwbooster.com/add-ons/sagepayment): a secure interface for accepting payments through a secure SSL checkout system for both bankcard and virtual check transactions.
* [eWay add-on](https://cff.dwbooster.com/add-ons/eway): integrate with eWay payment gateway. eWay is a popular payment gateway in countries like Australia, New Zealand, Singapore, Hong Kong, and Malaysia.

**Integration with third-party services add-ons**

* [Google Places add-on](https://cff.dwbooster.com/add-ons/google-places): transform form fields into autocomplete address fields.
* [Autocomplete Places add-on](https://cff.dwbooster.com/add-ons/autocomplete-places): transform form fields into autocomplete address fields by using the Photon API.
* [Google Analytics add-on](https://cff.dwbooster.com/add-ons/google-analytics): generate usage reports in "Google Analytics" for the users' actions.
* [DropBox Integration add-on](https://cff.dwbooster.com/add-ons/dropbox): copy or move the uploaded files to a DropBox account.
* [WebMerge add-on](https://cff.dwbooster.com/add-ons/webmerge): integrate the forms with FormStack documents (formerly WebMerge) to generate PDF and Office documents at runtime with the information collected by the web forms.
* [Sendinblue Contact add-on](https://cff.dwbooster.com/add-ons/sendinblue): integrate the forms with Sendinblue to add/update contacts with the information collected by the web forms.
* [PrintFriendly add-on](https://cff.dwbooster.com/add-ons/printfriendly): generate PDF files with the PrintFriendly API  and attach the resulting files to the notification emails.
* [Mailchimp add-on](https://cff.dwbooster.com/add-ons/mailchimp): add new members to the MailChimp account.
* [Mautic add-on](https://cff.dwbooster.com/add-ons/mautic): add new contacts (or update existing ones) into the Mautic Service.
* [HubSpot add-on](https://cff.dwbooster.com/add-ons/hubspot): add/update contacts in HubSpot, using the information collected by the form.
* [Twilio add-on](https://cff.dwbooster.com/add-ons/twilio): send notification messages (SMS) in the forms' submissions.
* [ip2location add-on](https://cff.dwbooster.com/add-ons/ip2location): identify the users' data using the ip2location databases.

**Integration with third-party plugins add-ons**

* [Easy Digital Downloads add-on](https://cff.dwbooster.com/add-ons/edd): integrate the forms into Easy Digital Downloads products and calculate their prices at the runtime.
* [Emma add-on](https://cff.dwbooster.com/add-ons/emma): add new members to the Emma service.
* [MailPoet add-on](https://cff.dwbooster.com/add-ons/mailpoet): add new subscribers to MailPoet's Mailing Lists (MailPoet versions 2 and 3).
* [AffiliateWP add-on](https://cff.dwbooster.com/add-ons/affiliatewp): integrate the forms with the AffiliateWP plugin.
* [The Events Calendar add-on](https://cff.dwbooster.com/add-ons/the-events-calendar): creates new events, venues, categories, tags, and organizers in The Events Calendar plugin with the information collected by the form.


== Other Notes ==

= Equation / Formula format for calculated fields =

Below, some possible formulas are included as examples, but the possibilities are endless.

* With simple mathematical operations:

    `fieldname1 + fieldname2`

    `fieldname1 * fieldname2`

    `fieldname1 / fieldname2`

    `fieldname1 - fieldname2`

    `fieldname1 - fieldname2`

* With mathematical operations involving multiple fields and grouped fields:

    `fieldname1 * (fieldname2 + fieldname3)`

* With rounding operations. Round the result to two decimal places:

    `PREC(fieldname2 / fieldname3, 2)`

* There are infinite number of formulas that can be created using complex structures. For example, the following formula includes conditional statements:

    `(function () {`
    `if (100 < fieldname3) return fieldname1 + fieldname2;`
    `if (fieldname3 <= 100) return fieldname1 * fieldname2;`
    `})();`

* For complex formulas/equations you must use the function format with return statement to return the result to the calculated field:

     `(function () {`
        `var result = 0;`
        `/* Your code here */`
        `return result;`
    `}) ();`

= Operations and operators to use in equations/formulas =

One of the "Calculated Fields Form" strengths is the ability to use any valid JavaScript code to implement the equations/formulas.

However, the plugin includes a wide variety of operations and operators to simplify the development process.

[Mathematical Operations and Operators](http://cff.dwbooster.com/documentation#mathematical-module)

[Conditional Operations](http://cff.dwbooster.com/documentation#conditions-module)

[Field Handling Operations](http://cff.dwbooster.com/documentation#managing-fields-module)

[Operations for interacting with external services](http://cff.dwbooster.com/documentation#connection-module)

[Operations for handling URLs and query strings](http://cff.dwbooster.com/documentation#url-module)

In addition to the operation modules listed above, the Developer and Platinum versions of the plugin include additional modules:

[Date Time Operations](http://cff.dwbooster.com/documentation#datetime-module)

[Financial Operations](http://cff.dwbooster.com/documentation#financial-module)

[Distance and Travel Time Operations](http://cff.dwbooster.com/documentation#distance-module)

[Operations to generate charts](http://cff.dwbooster.com/documentation#chart-module)

= Create variables from parameters received by "GET" or "POST", "SESSION" variables, or "COOKIES" to use in the equations =

The plugin includes the shortcode [CP_CALCULATED_FIELDS_VAR] to generate JavaScript variables from parameters received by "GET" or "POST",  "SESSION" variables, or "COOKIES":

`[CP_CALCULATED_FIELDS_VAR name="..."]`

In the shortcode, you must replace the "..." symbols with the name of the parameter or variable. The variables are created as properties of the cff_var variable. For example, in the [CP_CALCULATED_FIELDS_VAR name="my_var"] shortcode, you can access the variable value from the equations by using cff_var['my_var'], or cff_var.my_var

For example:

`[CP_CALCULATED_FIELDS_VAR name="varname"]`

You can use the variables generated through the shortcode [CP_CALCULATED_FIELDS_VAR] in the formulas of the calculated fields: `fieldname1*cff_var.varname`

The complete list of parameters accepted by the variables shortcode is available at the following link: [CLICK HERE](http://cff.dwbooster.com/documentation#javascript-variables)

= ClassicPress =

This plugin is compatible with [ClassicPress](https://www.classicpress.net/).

== Installation ==

To install the "Calculated Fields Form" plugin, please follow these steps:

1. Download the .zip the Calculated Fields Form plugin.
2. Go to the Plugins section on your WordPress.
3. Press the "Add New" button at the top of the section.
4. Press the "Upload Plugin" button and then select the zipped file downloaded in the first step.
5. Finally, install and activate the plugin.

To build a form, go to the menu option "Calculated Fields Form"

To insert the calculated / contact form into some content or post, use the corresponding form's shortcode. Each web form has associated a shortcode.

== Frequently Asked Questions ==

= Q: Is the "Calculated Fields Form" plugin compatible with "Autoptimize"? =

A: [Yes, it is](http://cff.dwbooster.com/faq#q214 "Yes, it is")

= Q: Is the "Calculated Fields Form" plugin compatible with "Plugin Organizer"? =

A: [Yes, it is](http://cff.dwbooster.com/faq#q319 "Yes, it is")

= Q: What control types are included in the plugin? =

A: The Calculated Fields Form's page contains detailed information about each field in the plugin: [Click Here](https://cff.dwbooster.com/documentation#common-fields "Click Here")

= Q: Where can I publish a calculated fields form? =

A: You can publish the forms into pages and posts. The shortcode can be also placed into the theme templates. [Read more](https://cff.dwbooster.com/documentation#insertion-page "Publishing the forms")

= Q: Can I send the form data and calculated results by email? =

A: This feature is included in the commercial versions of the plugin.

The commercial versions of the plugin allow processing the forms' submissions, send notification emails, and integrate the forms with payment gateways. [Comparing the different versions of the plugin](https://cff.dwbooster.com/download#comparison "Comparing the plugin's distributions")

= Q: Which calculation operations are available with the plugin? =

A: The Free and Professional versions of the plugin include the Mathematical operations module, logical operations, Date/Time, managing fields module, and third-party connection module. Other operations modules are distributed with the Developer and Platinum distributions, such as Financial operations module, Distance module, and Server Side operations module. [Read more](https://cff.dwbooster.com/documentation#modules "Operations modules")

= Q: How can I round the calculated result to 2 decimal digits? =

A: [Use the "PREC" operation for rounding numbers with decimal places.](http://cff.dwbooster.com/documentation#prec "PREC Operation")

= Q: Which are the operations with date values that the plugin allows? =

A: [List and description of date/time operations](http://cff.dwbooster.com/documentation#datetime-module "Date/Time Operations")

= Q: Are there financial operations included in the plugin? =

A: [List and description of financial operations](http://cff.dwbooster.com/documentation#financial-module "Financial Operations")

= Q: How can I calculate a payment's amortization? =

A: The CALCULATEAMORTIZATION is the most complex operation in the plugin and deserves its own section. Please, visit the following link to read a detailed description of its use:

[How calculate an amortization?](http://cff.dwbooster.com/faq#q219 "CALCULATEAMORTIZATION Operation")

= Q: Can I create global variables to be used in the equations? =

A: [Yes, it is possible to create global javascript variables through the form shortcode, or by using the variables shortcode: CP_CALCULATED_FIELDS_VAR](http://cff.dwbooster.com/faq#q199 "FAQ Entry")

= Q: How to populate the form fields with URL parameters? =

A: Please, read the answer in the FAQ entry: [Click Here](http://cff.dwbooster.com/faq#q251 "FAQ Entry")

= Q: How to use a session variable in the equations? =

A: Please, read the answer in the FAQ entry: [Click Here](http://cff.dwbooster.com/faq#q268 "FAQ Entry")

= Q: How to use a parameter passed by POST in the equations? =

A: Please, read the answer in the FAQ entry: [Click Here](http://cff.dwbooster.com/faq#q270 "FAQ Entry")

= Q: How to use a parameter passed by GET in the equations? =

A: Please, read the answer in the FAQ entry: [Click Here](http://cff.dwbooster.com/faq#q271 "FAQ Entry")

= Q: If I've inserted multiple shortcodes for the same form in a webpage, each of them defines an additional variable with the same name. How to access the value of the variable defined in its shortcode from the equations in the form? =

A: Please, visit the following link to the plugin documentation. Pay attention to the definition of the new variables as a hash of the values: [Click Here](http://cff.dwbooster.com/documentation#direct-javascript-vars "Create direct variables")

= Q: How to initialize a date field? =

A: [Initializing date/time fields](http://cff.dwbooster.com/faq#q220 "FAQ Entry")

= Q: How to change the language on the datepicker? =

A: There are different alternatives, directly through the form's structure or uploading a new file to the plugin's folder. Please, visit the following link to read the instructions: [Click Here](http://cff.dwbooster.com/faq#q221 "FAQ Entry")

= Q: How to create relationships between date fields? =

A: It is possible to define the min date, max date, or select a date dynamically based on the value of another date field.

[Create relationships between date fields](http://cff.dwbooster.com/documentation#relationship-between-date-fields "Documentation")

= Q: Is there a way to format the form in a table structure (various fields in the same line)? =

A: Yes, that's possible. Please, read the following post in the plugin's blog: [Formatting the form (distributing the fields in columns)](https://cff.dwbooster.com/blog/2019/01/06/columns/ "Blog")

= Q: How to convert a button field into a submit button? =

A: To convert a button's field in a submit button, enter the following code as its onclick event:

		jQuery(this).closest('form').submit();

= Q: How to display an image in a checkbox or radio button? =

A: [Displaying images in checkboxes and radio buttons](http://cff.dwbooster.com/faq#q222 "FAQ Entry")

Additionally, to hide the checkboxes and radio buttons, for using only the images for choosing, enter the following styles definition into the "Customize Form Design" attribute in the "Form Settigns" tab:

		#fbuilder input[type="radio"],
		#fbuilder input[type="checkbox"]{display:none !important;}

= Q: How to replace the image displayed in a Media field based on the radio buttons selection? =

A: [How to replace the image displayed in a Media Field?](http://cff.dwbooster.com/faq#q266 "FAQ Entry")

= Q: In which order does the plugin evaluate the equations associated with the calculated fields? =

A: [Evaluating the equations](http://cff.dwbooster.com/faq#q79 "FAQ Entry")

= Q: Can I link the calculated amount to a PayPal payment form? =

A: That feature is available in the [commercial versions of the plugin](https://cff.dwbooster.com/download "Download").

Additional details in the "[PayPal Payment Configuration](https://cff.dwbooster.com/documentation#paypal-settings "PayPal Payment Integration")" section in the documentation page of the plugin.

= Q: Non-Latin characters are not displayed in the form. Is there a solution? =

A: Please, read the following entry in the plugin's FAQ: [Click Here]](http://cff.dwbooster.com/faq#q225 "utf-8")

= Q: The calculated form doesn't appear on the public website. What is the solution? =

A: Please, change the "Script load method" from "Classic" to "Direct" in the "troubleshoot area" located below the forms list in the settings page of the plugin.

The optimization plugins are another possible cause of the issue. Please, read additional details in the [FAQ page](https://cff.dwbooster.com/faq#compatibility-with-other-plugins "Compatibility with Other Plugins") of the plugin.

= Q: How to create a multipage form? =

A: Insert "Page Break" between the fields belonging to different pages.

= Q: How to display the selected values in the slider control? =

A: [Displaying selected values in slider control](http://cff.dwbooster.com/faq#q228 "FAQ Entry")

= Q: How to create new validation rules? =

A: [Create new validation rules](http://cff.dwbooster.com/documentation#new-validation-rules "New Validation Rules")

= Q: How to display a summary of entered data in the form? =

A: Insert a summary control in the form, and enter the names of the fields to display in the summary through its settings.

= Q: How to highlight the fields in the summary control? =

A: [Highlighting fields](http://cff.dwbooster.com/faq#q229 "FAQ Entry")

= Q: Can I display a summary of the fields on the "Thank You" page? =

A: Yes, that's possible by using the shortcode for results. Additional details [HERE](https://cff.dwbooster.com/documentation#thanks-page "Thanks page")

= Q: How can I apply CSS styles to the form fields? =

A: [Applying CSS styles to the form fields](http://cff.dwbooster.com/faq#q82 "FAQ Entry")

= Q: Can I modify any of the predefined templates included with the plugin? =

A: Yes, that's possible: [Modifying the predefined templates](http://cff.dwbooster.com/faq#q231 "FAQ Entry")

= Q: How to create a new template to use with my forms? =

A: [Creating new templates](http://cff.dwbooster.com/documentation#create-template "Documentation")

= Q: How to hide the fields in the forms? =

A: [Hiding the fields in form](http://cff.dwbooster.com/faq#q232 "FAQ Entry")

= Q: Why, after assigning some of the column class names (column2, column3, column4, col-...) to a group of fields, the next field is displaced to the right? =

A: [You can fix this behavior by inserting a separator field between rows](http://cff.dwbooster.com/faq#q320 "FAQ Entry")

= Q: How to assign multiple class names to a field? =

A: The class names are assigned to the fields through the attribute: "Add Css Layout Keywords"

To assign multiple class names to a field, you must separate them by space characters. For example, myclass1 myclass2

= Q: What files can be uploaded through the form? =

A: [Accepted files](http://cff.dwbooster.com/faq#q235 "FAQ Entry")

= Q: How can I include the links to the uploaded files in the notification emails? =

A: [Inserting the links to the uploaded files into the notification emails](http://cff.dwbooster.com/faq#q160 "FAQ Entry")

= Q: Why does the form builder display the error message: "The entered data includes invalid characters..."? =

A: If you are copying the information used to configure the form from third-party applications (like MS Word or Excel), this information can include non-valid characters. The plugin validates the form's structure to avoid this type of errors.

= Q: How to use conditional statements in the equations? =

A: There are different alternatives to use conditional statements in the equations: [Visit the following link](http://cff.dwbooster.com/faq#q239 "FAQ Entry")

= Q: How to print the form only and not the complete page? =

A: To print only the form, but not the rest of the page's content, please, follows the instructions in the following link: [Click Here](http://cff.dwbooster.com/documentation#print-form "Documentation")

= Q: How to disable the dynamic evaluation of the equations associated with the calculated fields? =

A: To disable the dynamic evaluation of the equations in the form, you must untick the checkbox "Eval dynamically the equations associated to the calculated fields" from the "Form Settings" tab of the form builder. After disabling the dynamic evaluation of the equations, you must insert a button field with the "calculate" option as its type. The plugin evaluates the equations by pressing the calculate button.

= Q: My company has different departments (like the sales department, the support group, etc.). Can I send a notification email to every department when the form is submitted? =

A: Yes, that is possible. You must enter the emails' addresses separated by the comma through the "Destination emails" attribute in the form's settings.

= Q: Why is the user not receiving the confirmation emails? =

A: If the users are not receiving the notification emails after the form's submission, there are different possible reasons: [please, read about them here](http://cff.dwbooster.com/faq#q241 "FAQ Entry")

= Q: How to insert line breaks in the notification emails when the HTML format is selected? =

A: If you are using the HTML format in the notification emails, you should insert BR tags for the lines changes in the emails' contents:

**&lt;BR /&gt;**

= Q: How to insert an image in the notification emails? =

A: [Inserting images in the notification emails](http://cff.dwbooster.com/faq#q223 "FAQ Entry")

= Q: How to send only specific fields in the notification emails? =

A: The notification emails can include all fields submitted by the form (&lt;%INFO%&gt;), or specific fields by using their tags(&lt;%fieldname#%&gt;). Furthermore, there are other tags you can include in the notification emails.

Please, visit the following link to get the complete list of tags to include in the email: [Accepted tags](https://cff.dwbooster.com/documentation#special-tags "Special tags in the notification emails and the thank you pages")

= Q: How to create dependencies between fields in the notification emails and the "Thank You" pages? =

A: Please, read the answer in the FAQ page of the plugin: [Click Here](http://cff.dwbooster.com/faq#q318 "FAQ Entry")

= Q: How to implement custom operations? =

A: Please, read the answer in the FAQ page of the plugin: [Click Here](http://cff.dwbooster.com/faq#q245 "FAQ Entry")

= Q: How to calculate the number of words in a text? =

A: [Calculating the number of words in a text](http://cff.dwbooster.com/faq#q246 "FAQ Entry")

= Q: How to calculate the number of characters in a text, excluding the blank characters? =

A: [Calculating the number of characters in a text](http://cff.dwbooster.com/faq#q247 "FAQ Entry")

= Q: How to assign a value to a field that is not a calculated field from an equation? =

A: [Assigning values to the fields from equations](http://cff.dwbooster.com/faq#q248 "FAQ Entry")

= Q: How to insert links in the form? =

A: The form builder does not include a specific field for links. However, you can insert a link (or any other HTML tag) using an "HTML Content" field. Insert an "HTML Content" field in the form, and enter the anchor tag as its content. For example, to insert a link to our website:

**&lt;a href="http://cff.dwbooster.com"&gt;Visit the website&lt;/a&gt;**

= Q: How to define dependencies between fields in the form? =

A: Please, read the following post in the plugin's blog: [Click Here](https://cff.dwbooster.com/blog/2020/03/01/dependencies/ "Dependencies")

= Q: How to define dependencies with multiple fields? =

A: Create dependencies with values of multiple fields requires the use of calculated fields. [Read more](https://cff.dwbooster.com/blog/2020/03/01/dependencies/ "Dependencies")

= Q: How to prevent users varying the fields' values to pay less than the calculated price? =

A: The form settings include the attribute "Base amount" to define the minimum price allowed. If a user manipulates the calculated field for paying less, the plugin applies the base amount.

= Q: How to vary the PayPal product's name from the public form? =

A: You can enter the PayPal product's name through the "Paypal product name" attribute in the form's settings. If you enter a field's tag as the product's name, for example, &lt;%fiedname1%&gt; the product's name will be the value submitted by the fieldname1 field.

= Q: How to allow to the users to decide the payment frequency for recurring payments? =

A: Follows the instructions below:

1. Inserts a Radio Button or DropDown field in the form.
2. Enters the number of months as the choices' values.
3. Selects the "From field" option in the "Payment Frequency" attribute.
4. Finally, select the field inserted in the second step from the list beside the "Payment Frequency" attribute.

Tip: The maximum number of moFrequencywed by PayPal for recurring payments is 12 months.

If you allow the users to select the payment frequency, you must implement the equation to vary the amount based on the payment frequency.

= Q: How to select a choice in a dropdown field, or radio button, based on a calculated value? =

A: I'll try to describe the process with some hypothetical examples. Assuming the radio button field is fieldname123, and you can select the choice with the value 5, uses the following piece of code as part of the equation associated with the calculated field:

		getField(123).setVal(5);

But if the fieldname123 is a checkbox field and you want to select the choices with values: 5 and 8, the code would be:

		getField(123).setVal([5,8]);

= Q: How to set the value of a slider control programmatically? =

A: Please, read the answer in the plugin's documentation:
[Click Here](http://cff.dwbooster.com/documentation#assign-slider-value-programmatically "Slider Value")

= Q: How to use the "DS" fields? =

A: Please, visit the following post in our technical blog:
[Click Here](https://cff.dwbooster.com/blog/2019/02/14/ds/ "Using the information stored in a database or CSV file in the form")

= Q: In a form with multiple "DS" fields. How to reduce the number of queries to the database? =

A: In this case, the recommendation is to use "RecordSet DS" fields as the data source: [Click Here for instructions](https://cff.dwbooster.com/blog/2019/02/14/ds/ "Recordset DS field")

= Q: How to use the data submitted by one form in another one? =

A: Please, read the instructions in the plugin's documentation.
[Click Here](https://cff.dwbooster.com/documentation#populate-form-b-with-a "Populate the form B with the data submitted by the form A")

= Q: How to store the submitted information in another database? =

A: Please, read the instructions in the plugin's documentation.
[Click Here](https://cff.dwbooster.com/documentation#third-party-database "Storing Data in a Different Database")

= Q: How do I integrate forms with WooCommerce products? =

[Integrating the forms with WooCommerce products](https://cff.dwbooster.com/blog/2018/11/26/woocommerce "WooCommerce")

= Q: How to customize the fields displayed on the cart page of WooCommerce? =

[Customizing the fields in the shopping cart of WooCommerce](http://cff.dwbooster.com/faq#q315 "FAQ Entry")

= Q: Why is a WooCommerce product not displaying the "Add to Cart" button? =

A: You must assign a price to the product through its attribute: "Regular Price" or WooCommerce won't display the "Add to Cart" button.

= Q: What is SalesForce, and how to create new leads from my forms? =

A: To get a complete guide about the integration of forms created with the plugin and the SalesForce service, please visit the following link:
[Click Here](http://blog.net-factor.com/what-is-salesforce-and-how-to-create-new-leads-from-my-forms/ "Blog Post")

= Q: How to copy the uploaded files to DropBox? =

A: Activates and configure the DropBox add-on, distributed with the Platinum version of the plugin:
[Click Here](https://cff.dwbooster.com/documentation#dropbox-addon "DropBox add-on")

= Q: How to generate a PDF file dynamically with the submitted information? =

A: There are multiple alternatives, by using the [PDF generator add-on](https://cff.dwbooster.com/blog/2020/07/19/pdf-generator/ "PDF Generator" ), the [PrintFriendly add-on](https://cff.dwbooster.com/blog/2019/09/19/printfriendly/ "PrintFriendly") or the [WebMerge add-on](https://cff.dwbooster.com/blog/2018/10/15/webmerge/ "WebMerge").

= Q: How to use an "Upload File" field with multiple selections from Zapier? =

A: Please, visits the following link to get the answer to your question:
[Click Here](http://cff.dwbooster.com/faq#q274 "FAQ Entry")

= Q: How turn off the up/down arrows in the number fields? =

A: Please, visits the following link to get the answer to your question:
[Click Here](http://cff.dwbooster.com/faq#q312 "FAQ Entry")

= Q: How to protect the form from attacks by spambots? =

A: Please, follow the instructions described in the plugin's FAQ:
[Click Here](http://cff.dwbooster.com/faq#q313 "FAQ Entry")

= Q: I have an issue with the character encoding in the exported CSV files? =

A: Please, follow the steps below:

1. Open Excel.
2. Import the data using Data &lt; Import External Data &lt; Import Data.
3. Select the file type of "CSV" and browse to your file.
4. In the import wizard, change the File_Origin to the related language character identifier.
5. Change the Delimiter to the comma if needed.
7. Select where to import to and Finish.

== Screenshots ==

1. Calculated forms list
2. Inserting the form using the Classic Editor
3. Inserting the form using the Gutenberg Editor
4. Inserting the form using Elementor
5. Inserting the form using Page Builder by SiteOrigin
6. Inserting the form using Beaver Builder
7. Inserting the form using WPBakery Page Builder
8. Sample calculated form
9. Calculated field settings
10. Advanced equations editor
11. Calculator Form builder
12. Editing general fields
13. Available designs
14. Add-ons section
15. WooCommerce add-on
16. SalesForce add-on
17. WebHook add-on, and its integration with Zapier

== Changelog ==

= 5.9.19 =

* Addresses an inconsistency in the validation of date fields.
* Introduces a new predefined form for loading metadata from Archive.org.

= 5.9.18 =

* Enables validation of time components within date and time controls.
* Introduces two new operations: DISABLEEQUATION and ENABLEEQUATION, to deactivate or activate equations in specific calculated fields.
* Resolves an issue affecting quantity boxes in checkbox and radio button controls when the switch format is enabled.
* Features a new video tutorial.
* Updates the DS fields in both the Developer and Platinum plugin versions.

= 5.9.17 =

* Improve the SEO score when forms are accessed directly or embedded within an iframe.

= 5.9.16 =

* Introduces a new attribute in the form settings that enables the form to be reset after submission via AJAX.
* Improves the visual presentation of radio buttons and checkboxes on smaller screens, such as mobile devices.
* Resolves an issue with the font family used in captcha images for the Professional, Developer, and Platinum versions.
* Updates the WooCommerce add-on for the Developer and Platinum versions.
* Enhances the DISTANCE operations module for the Developer and Platinum versions.
* Revamps the SagePay add-on for the Platinum version.

= 5.9.15 =

* Resolves a compatibility issue with WordPress versions prior to 5.5.
* Addresses an issue with the confirmation dialog that appears when saving changes to the form.