Marketing · Elementor

Form Builder widget for Elementor

A form you build in Elementor: fields, layout, and submit behavior for contact, quotes, and lead capture.

Open live demo

Get King Addons

This page describes the PHP/JS for this widget — not a renamed stub. Install the free plugin from WordPress.org.

Get King Addons

What it actually does

A form you build in Elementor: fields, layout, and submit behavior for contact, quotes, and lead capture.

render() writes HTML data attributes: data-actions, data-allft, data-key, data-list-id, data-mailchimp-fields, data-maxfs, data-maxfs-notice, data-redirect-url.

Mailchimp is a server-side integration in this widget (API key / list ID), not a form embed.

Some inspector controls are marked Pro in PHP (eicon-pro-icon / king-addons-pro-control). Those need King Addons Pro, not Elementor Pro.

The widget script reads data attributes: data-mailchimp-fields, data-setting.

How to add it in Elementor

  1. Install King Addons. Install Elementor and King Addons. Get King Addons from WordPress.org.
  2. Edit with Elementor. Open a page and click Edit with Elementor.
  3. Insert the widget. Search the panel for “Form Builder”. Typing “king” lists every King Addons widget.
  4. Set inspector controls from this widget’s PHP. Configure “Type”, “Label”, “Sub Label”, “Previous Button”. Style and Content tabs are listed on this page.

When to use it

Tip: After King Addons is active, type king in the Elementor search box to list every widget, including Form Builder.

Inspector controls from this widget’s PHP

ControlWhat the code does
form_fields — TypeSelect inspector control (`field_type`).
form_fields — LabelText inspector control (`field_label`).
form_fields — Sub LabelText inspector control (`field_sub_label`).
form_fields — Previous ButtonText inspector control (`previous_button_text`).
form_fields — Next ButtonText inspector control (`next_button_text`).
form_fields — IconIcon rendered with Elementor Icons_Manager in this widget’s HTML.
form_fields — PlaceholderText inspector control (`placeholder`).
form_fields — Default ValueText inspector control (`field_value`).
form_fields — IDElement ID should be unique and not used elsewhere in this widget.
form_fields — RequiredSwitcher inspector control (`required`).
form_fields — MultipleSwitcher inspector control (`allow_multiple_upload`).
form_fields — File Size (MB)Numeric control (min 1). Max upload size allowed is.
form_fields — File TypesEnter the comma separated file types to allow.
form_fields — OptionsInsert each option on a separate line. To set a different label and value for an option, separate them with a pipe ("|"). Example: First Option|f_option.
form_fields — Multiple SelectionSwitcher inspector control (`allow_multiple`).
form_fields — RowsNumeric control (min 2).
form_fields — Inline ListSwitcher inspector control (`inline_list`).
form_fields — HTMLTextarea inspector control (`field_html`).
form_fields — Column WidthWrites CSS `width` onto the widget’s front-end markup. (min 10, max 100).
form_fields — Rows (Rows)Numeric control (default 7).
form_fields — SizeOptions: Normal; Compact.
form_fields — StyleOptions: Light; Dark.
Fields — Form FieldsRepeater rows; render() loops each item to build the list or slides.
Buttons — Column WidthWrites CSS `width` onto the widget’s front-end markup. (min 10, max 100).
Buttons — Step Buttons WidthWrites CSS `width` onto the widget’s front-end markup. (min 0, max 500).
Buttons — AlignmentWrites CSS `king-addons-fb-step-tab` onto the widget’s front-end markup. Options: Left; Center; Right.
Buttons — SubmitText inspector control (`button_text`).
Buttons — IconIcon rendered with Elementor Icons_Manager in this widget’s HTML.
Buttons — Icon PositionOptions: Before; After.
Buttons — Icon SpacingWrites CSS (margin-left, margin-right) onto the widget’s front-end markup. (max 50).
Buttons — Button IDElement ID should be unique and not used elsewhere in this widget.
Settings — Form NameText inspector control (`form_name`).
Settings — Form IDForm ID should be unique and shouldn't contain spaces.
Settings — Success MessageText inspector control (`success_message`).
Settings — Error MessageText inspector control (`error_message`).
Settings — Show Field LabelsSwitcher inspector control (`show_labels`).
Settings — Show PlaceholdersSwitcher inspector control (`show_placeholders`).
Settings — Show Required MarkSwitcher inspector control (`mark_required`).
Actions — Add ActionSelect the actions to perform after a user submits the form (e.g., sending an email notification). Once an action is selected, its corresponding settings will be displayed below.
Widget — Webhook URLEnter the webhook URL (e.g. Zapier) that will receive the submitted data.
Widget — Redirect ToText inspector control (`redirect_to`).
Mailchimp — Select AudienceSelect inspector control (`mailchimp_audience`).
Mailchimp — GroupsSelect2 inspector control (`mailchimp_groups`).
Mailchimp — EmailSelect inspector control (`email_field`).
Mailchimp — First NameSelect inspector control (`first_name_field`).
Mailchimp — Last NameSelect inspector control (`last_name_field`).
Mailchimp — PhoneSelect inspector control (`phone_field`).
Mailchimp — BirthdaySelect inspector control (`birthday_field`).
Mailchimp — AddressSelect inspector control (`address_field`).
Mailchimp — CountrySelect inspector control (`country_field`).
Mailchimp — CitySelect inspector control (`city_field`).
Mailchimp — StateSelect inspector control (`state_field`).
Mailchimp — ZipSelect inspector control (`zip_field`).
Steps — TypeOptions: None; Label; Icon; Number; Progress Bar; Number & Label; Icon & Label.
Steps — Content LayoutOptions: Horizontal; Vertical.
Steps — SeparatorSwitcher inspector control (`show_separator`).
Steps — Box AlignmentWrites CSS (align-items, justify-content) onto the widget’s front-end markup. Options: Left; Center; Right.
Steps — AlignmentWrites CSS `text-align` onto the widget’s front-end markup. Options: Left; Center; Right.
Form — Label ColorWrites CSS `color` onto the widget’s front-end markup.
Form — Mark ColorWrites CSS (king-addons-form-field-label, color) onto the widget’s front-end markup.
Form — TypographyElementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-addons-field-group > label`.
Form — DistanceWrites CSS (padding-left, body, padding-right, padding-bottom) onto the widget’s front-end markup. (min 0, max 60).
Form — Horizontal DistanceWrites CSS (padding-right, padding-left, margin-left, margin-right) onto the widget’s front-end markup. (min 0, max 60).
Form — Vertical DistanceWrites CSS (king-addons-field-group, margin-bottom) onto the widget’s front-end markup. (min 0, max 60).
Form — Align LabelsWrites CSS (king-addons-field-group, justify-content) onto the widget’s front-end markup. Options: Left; Center; Right.
Field (Normal) — ColorWrites CSS (color, fill) onto the widget’s front-end markup.
Field (Normal) — Background ColorWrites CSS (king-addons-field-group, king-addons-form-field, background-color) onto the widget’s front-end markup.
Field (Normal) — Border ColorWrites CSS (king-addons-field-group, king-addons-form-field, border-color, king-addons-select-wrap, color) onto the widget’s front-end markup.
Field (Normal) — TypographyElementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-addons-field-group .king-addons-form-field, {{WRAPPER}} .king-addons-…`.
Field (Focus) — ColorWrites CSS (king-addons-form-field, color) onto the widget’s front-end markup.
Field (Focus) — Background ColorWrites CSS (king-addons-field-group, king-addons-form-field, background-color, select) onto the widget’s front-end markup.
Field (Focus) — Border ColorWrites CSS (king-addons-field-group, king-addons-form-field, border-color, select, king-addons-select-wrap, focus-within) onto the widget’s front-end markup.
Field (Error) — ColorWrites CSS `color` onto the widget’s front-end markup.
Field (Error) — Background ColorWrites CSS (king-addons-field-group, king-addons-form-field, background-color) onto the widget’s front-end markup.
Field (Error) — Border ColorWrites CSS (king-addons-field-group, king-addons-form-field, border-color, king-addons-form-error-wrap, color) onto the widget’s front-end markup.
Field — Border WidthWrites CSS (king-addons-field-group, king-addons-form-field, border-width) onto the widget’s front-end markup.
Field — Border RadiusWrites CSS (king-addons-field-group, king-addons-form-field, border-radius) onto the widget’s front-end markup.
Field — PaddingWrites CSS (king-addons-field-group, king-addons-form-field, padding, right) onto the widget’s front-end markup.
Field — MarginWrites CSS `margin` onto the widget’s front-end markup.
Field — Inner GutterWrites CSS (margin-left, label, margin-right) onto the widget’s front-end markup. (min 0, max 50).
Checkbox & Radio — Use Custom StylesSwitcher inspector control (`checkbox_radio_custom`).
Checkbox & Radio — Static ColorWrites CSS (label, background-color) onto the widget’s front-end markup.
Checkbox & Radio — Active ColorWrites CSS (label, color) onto the widget’s front-end markup.
Checkbox & Radio — Border ColorWrites CSS (label, border-color) onto the widget’s front-end markup.
Checkbox & Radio — SizeWrites CSS (label, width, height, line-height, font-size) onto the widget’s front-end markup. (min 10, max 50).
Buttons (Normal) — Background ColorWrites CSS `background-color` onto the widget’s front-end markup.
Buttons (Normal) — Text ColorWrites CSS (color, background-color, fill) onto the widget’s front-end markup.
Buttons (Normal) — Border ColorWrites CSS `border-color` onto the widget’s front-end markup.
Buttons (Normal) — Background Color (Previous Button Background Color)Writes CSS `background-color` onto the widget’s front-end markup.
Buttons (Normal) — Text Color (Previous Button Text Color)Writes CSS `color` onto the widget’s front-end markup.
Buttons (Normal) — Border Color (Previous Button Border Color)Writes CSS `border-color` onto the widget’s front-end markup.
Buttons (Normal) — TypographyElementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-addons-button, {{WRAPPER}} .king-addons-fb-step-prev, {{WRAPPER}} .ki…`.
Buttons (Hover) — Background ColorWrites CSS (king-addons-fb-step-next, background-color) onto the widget’s front-end markup.
Buttons (Hover) — Text ColorWrites CSS (king-addons-fb-step-next, color, fill) onto the widget’s front-end markup.
Buttons (Hover) — Border ColorWrites CSS (king-addons-fb-step-next, border-color) onto the widget’s front-end markup.
Buttons (Hover) — Background Color (Previous Button Background Color Hover)Writes CSS (king-addons-fb-step-prev, background-color) onto the widget’s front-end markup.
Buttons (Hover) — Text Color (Previous Button Text Color Hover)Writes CSS (king-addons-fb-step-prev, color) onto the widget’s front-end markup.
Buttons (Hover) — Border Color (Previous Button Border Color Hover)Writes CSS (king-addons-fb-step-prev, border-color) onto the widget’s front-end markup.
Buttons — BorderElementor border group: type, width, color, and radius when the group includes it. Selector: `{{WRAPPER}} .king-addons-button, {{WRAPPER}} .king-addons-fb-step-prev, {{WRAPPER}} .ki…`.
Buttons — Border RadiusWrites CSS `border-radius` onto the widget’s front-end markup.
Buttons — Text PaddingWrites CSS `padding` onto the widget’s front-end markup.
Step (Normal) — Label ColorWrites CSS `color` onto the widget’s front-end markup.
Step (Normal) — Sub Label ColorWrites CSS `color` onto the widget’s front-end markup.
Step (Normal) — Background ColorWrites CSS `background-color` onto the widget’s front-end markup.
Step (Normal) — Border ColorWrites CSS `border-color` onto the widget’s front-end markup.
Step (Active) — Label ColorWrites CSS `color` onto the widget’s front-end markup.
Step (Active) — Sub Label ColorWrites CSS `color` onto the widget’s front-end markup.
Step (Active) — Background ColorWrites CSS `background-color` onto the widget’s front-end markup.
Step (Active) — Border ColorWrites CSS `border-color` onto the widget’s front-end markup.
Step (Finished) — Label ColorWrites CSS `color` onto the widget’s front-end markup.
Step (Finished) — Sub Label ColorWrites CSS `color` onto the widget’s front-end markup.
Step (Finished) — Background ColorWrites CSS `background-color` onto the widget’s front-end markup.
Step (Finished) — Border ColorWrites CSS `border-color` onto the widget’s front-end markup.
Step — DistanceWrites CSS `margin-bottom` onto the widget’s front-end markup. (min 0, max 50).
Step — GutterWrites CSS (margin-left, margin-right, king-addons-fb-step) onto the widget’s front-end markup. (min 0, max 25).
Step — Border TypeWrites CSS `border-style` onto the widget’s front-end markup. Options: None; Solid; Double; Dotted; Dashed; Groove.
Step — Border WidthWrites CSS `border-width` onto the widget’s front-end markup.
Step — Border RadiusWrites CSS `border-radius` onto the widget’s front-end markup.
Step — PaddingWrites CSS `padding` onto the widget’s front-end markup.
Step (Normal) — ColorWrites CSS (color, fill) onto the widget’s front-end markup.
Step (Normal) — Background Color (Step Inner Bg Color)Writes CSS `background-color` onto the widget’s front-end markup.
Step (Normal) — Border Color (Step Inner Border Color)Writes CSS `border-color` onto the widget’s front-end markup.
Step (Active) — ColorWrites CSS (color, fill) onto the widget’s front-end markup.
Step (Active) — Background Color (Step Inner Bg Color Active)Writes CSS `background-color` onto the widget’s front-end markup.
Step (Active) — Border Color (Step Inner Border Color Active)Writes CSS `border-color` onto the widget’s front-end markup.
Step (Finish) — Color (Labels, Icon, Number)Writes CSS (color, fill) onto the widget’s front-end markup.
Step (Finish) — Background ColorWrites CSS `background-color` onto the widget’s front-end markup.
Step (Finish) — Border ColorWrites CSS `border-color` onto the widget’s front-end markup.
Step — Border Type (Step Inner Border Type)Writes CSS `border-style` onto the widget’s front-end markup. Options: None; Solid; Double; Dotted; Dashed; Groove.
Step — Border Width (Step Inner Border Width)Writes CSS `border-width` onto the widget’s front-end markup.
Step — Border Radius (Step Inner Border Radius)Writes CSS `border-radius` onto the widget’s front-end markup.
Step — Box SizeSpacing/size control (min 0, max 200).
Step — Icon SizeWrites CSS (font-size, width, height) onto the widget’s front-end markup. (min 0, max 25).
Step — Distance (Step Label Distance)Writes CSS (margin-left, margin-top) onto the widget’s front-end markup. (min 0, max 50).
Step — ColorWrites CSS `background-color` onto the widget’s front-end markup.
Step — Text ColorWrites CSS `color` onto the widget’s front-end markup.
Step — Fill ColorWrites CSS `background-color` onto the widget’s front-end markup.
Step — TypographyElementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-addons-fb-step-progress-fill`.
Step — Divider HeightSpacing/size control (min 0, max 10).
Step — Text DistanceWrites CSS `padding-right` onto the widget’s front-end markup. (min 0, max 50).
Step — Border Radius (Step Progress Border Radius)Writes CSS `border-radius` onto the widget’s front-end markup. (min 0, max 100).
Step — Typography (Main Label Typography)Elementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-addons-fb-step-main-label`.
Step — Typography (Sub Label Typography)Elementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-addons-fb-step-sub-label`.
Step — Typography (Step Number)Elementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-addons-fb-step-number`.
Results — TypographyElementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-addons-submit-success, {{WRAPPER}} .king-addons-submit-error`.
Results — Success ColorWrites CSS `color` onto the widget’s front-end markup.
Results — Error ColorWrites CSS `color` onto the widget’s front-end markup.
Results — AlignmentWrites CSS `text-align` onto the widget’s front-end markup. Options: Left; Center; Right.

Content and Style tabs from this widget’s PHP, including repeater fields and group controls (typography, background, border, shadow). Elementor’s Advanced tab is core Elementor and is not listed here.

FAQ

Which Form Builder options need King Addons Pro?

Controls marked with the Pro icon in this widget’s PHP. King Addons Pro is a separate license from Elementor Pro.

Where do Form Builder subscribers go?

To the Mailchimp audience configured on the widget (API key and list ID in PHP). That is not the WordPress comments table.

Where do submissions go?

King Addons → Form Submissions in wp-admin, and/or email depending on the form’s actions. Test on staging first.

How do I add Form Builder in Elementor?

Install King Addons and Elementor, edit a page, search the panel for “Form Builder”, drag it onto the canvas, then set Content and Style.

Do I need Elementor Pro?

No. King Addons runs on free Elementor. Some King Addons options (for example template-in-accordion, extra popup conditions, parts of the template catalog) need King Addons Pro — not Elementor Pro.

Related marketing widgets

Get King Addons

One free plugin. 80+ Elementor widgets, 650+ templates, and 4,000+ sections. Search for Form Builder after you activate it.

Get King Addons