> For the complete documentation index, see [llms.txt](https://help.themeparrot.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.themeparrot.com/extra-product-options-custom-addons-for-woocommerce/form-creation.md).

# Form Builder

**STEP 1:** Navigate to **Extra Product Addon -> Add New Form** to create a new form or Choose **All Forms** to modify the existing forms.

![](/files/h3z2n6YUeQWSeFUJZTwQ)

**STEP 2:** They are **Extra Product Options (Custom Addons)**.

<figure><img src="/files/xUuNG0G70TysWR6Nld9k" alt=""><figcaption></figcaption></figure>

## General Properties

These are general properties for all the fields in Extra Product Addons.

i) Click the Pencil icon to **Edit** or **Modify** the fields.

<figure><img src="/files/eQFmIBHYffJukyPh1W7Z" alt=""><figcaption></figcaption></figure>

ii) Click the Copy icon to create a **Duplicate** of the field.

<figure><img src="/files/vDFI9o5dSYJb3Onc4PRB" alt=""><figcaption></figcaption></figure>

iii) Click the Delete icon to **Remove** the field from the Checkout section.

<figure><img src="/files/Sah9vtRqwzZCDsJZq83i" alt=""><figcaption></figcaption></figure>

We will see the features of each **Field** one by one.

## Field Properties

i) **Text** - enables you to collect the text data.

![](/files/Z4pd4dyKuEcxB66ssvNp)

* Required - by enabling this checkbox makes the field mandatory.
* Label - provides title to the field.
* Help Text(**PRO FEATURE**) - provides a pop-up message in product page.
* Placeholder -  is a short hint (a sample value or a short description of the expected format) that describes the expected value of an input field. For example, for e-mail, provide a sample mail-id i.e.,<name@gmail.com> will be displayed as default format input. The short hint is displayed in the input field before the user enters a value.
* Class - A space-separated list of CSS classes will be added to the input element.
* Name - provides a unique name for the field & no two fields have the same name.
* Value - set default value for this field.
* Type - select what type of text you need for this field like text, e-mail, telephone, color.
* Max Length - specifies the maximum number of characters allowed to enter in this field.

ii) **Email** -  enables you to collect mail-id.

![](/files/cOn5q9MK9KkQWrZxhlr2)

* Required - by enabling this checkbox makes the field mandatory.
* Label - provides title to the field.
* Help Text(**PRO FEATURE**) - provides a pop-up message in product page.
* Placeholder -  is a short hint (a sample value or a short description of the expected format) that describes the expected value of an input field. For example, for e-mail, provide a sample mail-id i.e.,<name@gmail.com> will be displayed as default format input. The short hint is displayed in the input field before the user enters a value.
* Class - A space-separated list of CSS classes will be added to the input element.
* Name - provides a unique name for the field & no two fields have the same name.
* Value - set default value for this field.
* Type - select what type of text you need for this field like text, e-mail, telephone, color.
* Max Length - specifies the maximum number of characters allowed to enter in this field.

iii) **Telephone** - enables you to collect contact number.

![](/files/AZKBfsYdYHieUabQR8Gh)

* Required - by enabling this checkbox makes the field mandatory.
* Label - provides title to the field.
* Help Text(**PRO FEATURE**) - provides a pop-up message in product page.
* Placeholder - is a short hint (a sample value or a short description of the expected format) that describes the expected value of an input field. For example, for e-mail, provide a sample mail-id i.e.,<name@gmail.com> will be displayed as default format input. The short hint is displayed in the input field before the user enters a value.
* Class - A space-separated list of CSS classes will be added to the input element.
* Name - provides a unique name for the field & no two fields have the same name.
* Value - set default value for this field.
* Type - select what type of text you need for this field like text field, e-mail, telephone, color, date picker, etc,....
* Max Length - specifies the maximum number of characters allowed to enter in this field

iv) **Color Picker** - enables you to provide color options.

![](/files/4S6HSQ01TOBnzD6T5IMs)

* Required - by enabling this checkbox makes the field mandatory.
* Label - provides title to the field.
* Help Text (**PRO FEATURE**) - provides a pop-up message in product page.
* Placeholder -  is a short hint (a sample value or a short description of the expected format) that describes the expected value of an input field. For example, for e-mail, provide a sample mail-id i.e.,<name@gmail.com> will be displayed as default format input. The short hint is displayed in the input field before the user enters a value.
* Class - A space-separated list of CSS classes will be added to the input element.
* Name - provides a unique name for the field & no two fields have the same name.
* Value - set default value for this field.
* Type - select what type of text you need for this field like text, e-mail, telephone, color.
* Max Length - specifies the maximum number of characters allowed to enter in this field.

v) **Range / Slider**- allows customers to visually select options within a specific range. **(PRO FEATURE)**

<figure><img src="/files/aZ8LZe0TDm8Uv7qaah5a" alt=""><figcaption></figcaption></figure>

* Required - enabling this checkbox to make the field mandatory.
* Label - provides title to the field.
* Help Text(**PRO FEATURE**) - provides a pop-up message on the product page.
* Placeholder -  is a short hint (a sample value or a short description of the expected format) that describes the expected value of an input field. For example, for e-mail, provide a sample mail-id i.e. ,<name@gmail.com> will be displayed as default format input. The short hint is displayed in the input field before the user enters a value.
* Class - A space-separated list of CSS classes will be added to the input element.
* Name - provides a unique name for the field & no two fields have the same name.
* Value - set the default value for this field.
* Type - select what type of text you need for this field like text, e-mail, telephone, or color.
* Min. Value - it represents the lowest selectable value within the range.
* Max. Value - it represents the highest selectable value within the range.
* Step Value - it determines the increment or decrement value when adjusting the slider position
* Slider Color - it is the visual appearance or hue of the slider component on the product page.

vi) **URL**- allows for adding a web address or link. **(PRO FEATURE)**

<figure><img src="/files/DGjJHPmJew0HDIf5FrLj" alt=""><figcaption></figcaption></figure>

* Required - enabling this checkbox to make the field mandatory.
* Label - provides title to the field.
* Help Text(**PRO FEATURE**) - provides a pop-up message on the product page.
* Placeholder -  is a short hint (a sample value or a short description of the expected format) that describes the expected value of an input field. For example, for e-mail, provide a sample mail-id i.e. ,<name@gmail.com> will be displayed as default format input. The short hint is displayed in the input field before the user enters a value.
* Class - A space-separated list of CSS classes will be added to the input element.
* Name - provides a unique name for the field & no two fields have the same name.
* Value - set the default value for this field.
* Type - select what type of text you need for this field like text, e-mail, telephone, or color.
* Max Length - specifies the maximum number of characters allowed to enter this field.

vii) **Date Picker** - enables you to collect date data.

![](/files/DHUUYnRYmF8vMNzwZV3S)

* Required - by enabling this checkbox makes the field mandatory.
* Label - provides title to the field.
* Help Text(**PRO FEATURE**) - provides a pop-up message in product page.
* Placeholder -  is a short hint (a sample value or a short description of the expected format) that describes the expected value of an input field. For example, for e-mail, provide a sample mail-id i.e.,<name@gmail.com> will be displayed as default format input. The short hint is displayed in the input field before the user enters a value.
* Class - A space-separated list of CSS classes will be added to the input element.
* Name - provides a unique name for the field & no two fields have the same name.
* Value - sets the default format for this field.
* Type - select what type of text you need for this field like text field, e-mail, telephone, color, date picker, etc,...
* Max Length - specifies the maximum number of characters allowed to enter in this field.

viii) **Time Picker** - enables you to collect time(like product delivery time).**(PRO FEATURE)**

![](/files/Z1h3T2cWEaDqqOjlLJ1S)

* Required - by enabling this checkbox makes the field mandatory.
* Label - provides title to the field.
* Help Text(**PRO FEATURE**) - provides a pop-up message in product page.
* Placeholder -  is a short hint (a sample value or a short description of the expected format) that describes the expected value of an input field. For example, for e-mail, provide a sample mail-id i.e.,<name@gmail.com> will be displayed as default format input. The short hint is displayed in the input field before the user enters a value.
* Class - A space-separated list of CSS classes will be added to the input element.
* Name - provides a unique name for the field & no two fields have the same name.
* Value - set default value for this field
* Type - select what type of text you need for this field like text field, e-mail, telephone, color, date picker, etc,...
* Max Length - specifies the maximum number of characters allowed to enter in this field.

ix) **DateTime Picker** - enables you to collect both date& time(like as delivery timing). **(PRO FEATURE)**

![](/files/cZcXRfH8aOrtUg4cwgJU)

* Required - by enabling this checkbox makes the field mandatory.
* Label - provides title to the field.
* Help Text(**PRO FEATURE**) - provides a pop-up message in product page.
* Placeholder -  is a short hint (a sample value or a short description of the expected format) that describes the expected value of an input field. For example, for e-mail, provide a sample mail-id i.e.,<name@gmail.com> will be displayed as default format input. The short hint is displayed in the input field before the user enters a value.
* Class - A space-separated list of CSS classes will be added to the input element.
* Name - provides a unique name for the field & no two fields have the same name.
* Value - set default value for this field
* Type - select what type of text you need for this field like text field, e-mail, telephone, color, date-time picker, etc,...
* Max Length - specifies the maximum number of characters allowed to enter in this field.

x) **Number** - enables you to collect numbers or count.

![](/files/WPqnBv8C7kUrrS5Chhqj)

* Required - by enabling this checkbox makes the field mandatory.
* Label -provides title to the field.
* Help Text(**PRO FEATURE**) - provides a pop-up message in product page.
* Placeholder -  is a short hint (a sample value or a short description of the expected format) that describes the expected value of an input field. For example, for e-mail, provide a sample mail-id i.e.,<name@gmail.com> will be displayed as default format input. The short hint is displayed in the input field before the user enters a value.
* class - A space-separated list of CSS classes will be added to the input element.
* Name - provides a unique name for the field & no two fields have the same name.
* Value - set default value for this field.
* Min - specifies the minimum limit allowed to enter in this field.
* Max - specifies the maximum limit allowed to enter in this field.
* Step - specifies value intervals between min & max.

xi) **Text Area** - enables you to collect a message or description.

![](/files/rcdR7QdMKlgaUm5BIH1H)

* Required - by enabling this checkbox makes the field mandatory.
* Label - provides title to the field.
* Help Text(**PRO FEATURE**) - provides a pop-up message in product page.
* Placeholder -  is a short hint (a sample value or a short description of the expected format) that describes the expected value of an input field. For example, for e-mail, provide a sample mail-id i.e.,<name@gmail.com> will be displayed as default format input. The short hint is displayed in the input field before the user enters a value.
* class - A space-separated list of CSS classes will be added to the input element.
* Name - provides a unique name for the field & no two fields have the same name.
* Value - set default value for this field.
* Type - select what type of text you need for this field like text area, tinymce, quill.
* Max Length - specifies the maximum number of characters allowed to enter in this field.
* Rows - specifies number of rows the text allowed in this field.

xii) **Select** - enables you to select from the drop-down list.

![](/files/eWDmU5HVpx0Aq0hRkUgz)

* Required - by enabling this checkbox makes the field mandatory.
* Label - provides title to the field.
* Help Text(**PRO FEATURE**) - provides a pop-up message in product page.
* Placeholder -  is a short hint (a sample value or a short description of the expected format) that describes the expected value of an input field. For example, for e-mail, provide a sample mail-id i.e.,<name@gmail.com> will be displayed as default format input. The short hint is displayed in the input field before the user enters a value.
* Class - A space-separated list of CSS classes will be added to the input element.
* Name - provides a unique name for the field & no two fields have the same name.
* Allow Multiple selections(**PRO FEATURE**) - enable this to select more than one options.
* Options -&#x20;
  * i)   blue dot denotes which of these is selected by default.
  * ii) the first field provides a label for the option.
  * iii) the second field provides value to the option.
  * iv) click add the option to add options.
  * v) click X red icon at the right corner to delete that option.
* Set Price(**PRO FEATURE**) -
  * **In Price -** specifies the value based on the options selected & price rate of the produc&#x74;**.**
  * **In Percentage -** specifies the value based on the options selected & price rate of product in percent.

xiii) **Multi Select**- allows customers to choose multiple selections from a list of options. **(PRO FEATURE)**

<figure><img src="/files/IRYMC4iUT4C3mtJiW2lz" alt=""><figcaption></figcaption></figure>

* Required - enabling this checkbox to make the field mandatory.
* Label - provides title to the field.
* Help Text(**PRO FEATURE**) - provides a pop-up message on the product page.
* Class - A space-separated list of CSS classes will be added to the input element.
* Name - provides a unique name for the field & no two fields have the same name.
* Options -&#x20;
  * i)   blue dot denotes which of these is selected by default.
  * ii) the first field provides a label for the option.
  * iii) the second field provides value to the option.
  * iv) click add the option to add options.
  * v) click X red icon at the right corner to delete that option
* Set Price - it allows for assigning a specific price to each selected choice or combination of choices.
* Min. Selections - it sets a minimum number of choices that must be selected by the customer.
* Max. Selections - it restricts the maximum number of choices that can be selected by the customer.

xiv) **Checkbox** - enables you to select an option in the form of a tick.

![](/files/aIgrgUdI7hofAk5BvYn4)

* Required - by enabling this checkbox makes the field mandatory.
* Label - provides title to the field.
* Help Text(**PRO FEATURE**) - provides a pop-up message in product page.
* Class - A space-separated list of CSS classes will be added to the input element.
* Name - provides a unique name for the field & no two fields have the same name.
* Options -&#x20;
  * i)   blue tick denotes which of these is selected by default.
  * ii) the first field provides a label for the option.
  * iii) the second field provides value to the option.
  * iv) click the **add option** to add options.
  * v) click **X** red icon at the right corner to delete the option.
* Set Price(**PRO FEATURE**) -
  * **In Price -** specifies the value based on the options selected & price rate of the produc&#x74;**.**
  * **In Percentage -** specifies the value based on the options selected & price rate of product in percent.

xv) **Checkbox** **Group** - enables you to select multiple checkboxesan option.

![](/files/aIgrgUdI7hofAk5BvYn4)

* Required - by enabling this checkbox makes the field mandatory.
* Label - provides title to the field.
* Help Text(**PRO FEATURE**) - provides a pop-up message in product page.
* Class - A space-separated list of CSS classes will be added to the input element.
* Name - provides a unique name for the field & no two fields have the same name.
* Options -&#x20;
  * i)   blue tick denotes which of these is selected by default.
  * ii)  first field provides label to the option.
  * iii) second field provides value to the option.
  * iv) click add option to add options.
  * v) click X red icon at right corner to delete option.
* Set Price(**PRO FEATURE**) -
  * **In Price -** specifies the value based on the options selected & price rate of the produc&#x74;**.**
  * **In Percentage -** specifies the value based on the options selected & price rate of product in percent.

xvi) **Radio Buttons** - enables you to select only one option from the provided options.

![](/files/KSnhvxOdwFOayJZvjCeF)

* Required - by enabling this checkbox makes the field mandatory.
* Label - provides title to the field.
* Help Text(**PRO FEATURE**) - provides a pop-up message in product page.
* Class - A space-separated list of CSS classes will be added to the input element.
* Name - provides a unique name for the field & no two fields have the same name.
* Options -&#x20;
  * i)   blue dot denotes which of these is selected by default.
  * ii)  first field provides the label to the option.
  * iii) second field provides value to the option.
  * iv) click add option to add options.
  * v) click X red icon at right corner to delete option.
* Set Price(**PRO FEATURE**) -
  * **In Price -** specifies the value based on the options selected & price rate of the produc&#x74;**.**
  * **In Percentage -** specifies the value based on the options selected & price rate of product in percent.

xvii) **Hidden input** - enables you to provide inputs which gets hidden from the site.

![](/files/SQJEhpKCOQYLSgBhw6OD)

* Name - provides a unique name for the field & no two fields have the same name.
* Value - set default value for this field.

xviii) **Paragraph** - enables you to provide quotes or messages on the website.

![](/files/SoPDUt3HnKVXzPRAFpKr)

* Content - provides you to enter brief text based on your need.
* Type - specifies content text type - paragraph, block-quote, address, output.
* class - A space-separated list of CSS classes will be added to the input element.

xix) **Header** - enables you to provide title or header.

![](/files/ReAHU9uhB2ka0qZbDLSI)

* Label - provides title to the field.
* Type - specifies heading type whether h1, h2, h3, h4, h5 or h6.
* Class -  A space-separated list of CSS classes will be added to the input element.

xx) **File Upload(PRO FEATURE) -** enables you to collect files of selected format types specified by you in the settings.

![](/files/cX33oSSOoZrP1CpWbFz9)

* Required - by enabling this checkbox makes the field mandatory.
* Label - provides title to the field.
* Help Text(**PRO FEATURE**) - provides a pop-up message in product page.
* Placeholder -  this is a short hint (a sample value or a short description of the expected format) that describes the expected value of an input field. For example, for e-mail, provide a sample mail-id i.e.,<name@gmail.com> will be displayed as default format input. The short hint is displayed in the input field before the user enters a value.
* Class - A space-separated list of CSS classes will be added to the input element.
* Type - select what type of file you need to upload for this field based on your settings.
* Multiple Files(**PRO FEATURE**) - enables you collect multiple files of specified formats.

NOTE :&#x20;

* After creating form or forms of your choice. Click **Publish** to make use of the form in product page.

![](/files/-MjY52x_NjQaSBARpHqg)

* If you have already created the form. Now, you need to modify and update in product page.After modifying the form, Click **Update**.
* To delete the created form, Click **Move to Trash**.

![](/files/-MjY5e5JAk_Re99zcItE)
