Repeatable Group Field for RSForm! Pro

Introduction

Contacts & Feedback, Contact forms, Forms, Surveys, RSForm! Pro Extensions

Custom RSForm! Pro plugin that enables dynamic, repeatable field groups within any form — now with extensive layout, labelling, output, live-calculation, per-row computed fields with multi-branch rules, per-row file uploads with image display, front-end submission views, JavaScript events for your own scripts, and export customisation options. Perfect for collecting multiple participants, order line items, job history entries, documents or photos per item, and any structured data that repeats row by row.


The Repeatable Group Field plugin provides a seamless solution for RSForm! Pro forms that require collecting multiple sets of structured data. The plugin adds two new field types to RSForm! Pro — a Start and End marker — which together define a group of fields that users can dynamically duplicate on the frontend. No custom PHP development, no workarounds: place the markers, configure the group, and the form is ready. The group follows the field order between the markers, so it works whether you place its fields in a single column or in separate rows of the RSForm! Pro grid layout. If a group is misconfigured, for example the End marker is missing, the form shows a clear warning instead of failing silently.

Field interface:

Perfect for event registrations with multiple attendees, order forms with variable line items, job applications with repeating work history, or any scenario where the number of data entries is not fixed in advance. The plugin stores submitted data as structured JSON arrays, which are automatically converted to readable HTML tables, lists, field-major tables, or card layouts in email notifications — and to clean, unstyled markup ready for your own CSS when generating PDF attachments.

Administrators can configure minimum and maximum row counts, customize button labels and row headers, choose between three field layouts (stacked, side-by-side, or a polished card style), control exactly when and where field labels appear, and decide where the "Add row" control itself is placed — below the group, above it, or as a small "+" button on every row. Rows can also be duplicated with a single click (copying all current values to a new row inserted below), and reordered by drag-and-drop when sortable rows are enabled. Calendar date pickers work in every row through automatic conversion to native HTML5 date inputs, and the standard File Upload field works per row as well. All of this relies on full RSForm! Pro feature compatibility: validation rules, conditional logic, and required field settings all work inside repeatable groups. The form editor displays a compatibility indicator for each field placed within a group, making configuration straightforward and transparent.

For order forms, quotes, and anything involving quantities or prices, the plugin provides two complementary calculation features. The Summary template on the End marker displays live calculated totals below the group — item counts, sums, averages, VAT-adjusted grand totals, and more — written as simple {...} expressions in a free-form HTML template, with arithmetic, rounding, and the functions round, floor, ceil, abs, min, and max. The Computed Field (a third field type added by the plugin) calculates a value within a single row as the user types — for example a line total from quantity × unit price — and stores the result in the database on submission. Computed fields support arithmetic, rounding, the same six functions, optional prefix/suffix text, and chaining (one computed field referencing another). Four calculation modes are available:

  • Simple — one formula, such as {qty} * {price}.
  • Conditional — a comparison expression ({field} > 0, {type} == 2, and similar) selects which of two formulas runs, so the same field can show a discounted total or a full price depending on a value elsewhere in the row.
  • Multi-branch — an if / else if / else list of condition => result rules checked from the top, where the first match wins. Useful for quantity discount tiers or status labels.
  • Text — joins field values into a label without calculating.

Conditions can combine comparisons with && and ||, use parentheses and arithmetic on both sides, and compare text values such as {status} == "paid". A text result can carry a numeric value for totals ([N] text). The result can be displayed as an input field, as plain text, or as a badge that can be coloured by value with CSS. Both features update instantly on the frontend with no JavaScript or custom development, and the Summary output can be inserted into confirmation emails and PDF documents via a dedicated placeholder.

Groups can also collect files per row. Place a standard RSForm! Pro File Upload field inside the group and every row gets its own upload input — for example a certificate for each attendee, a photo for each product, or a document for each job history entry. Single-file, multiple-file, and "Add more files" modes are all supported, and minimum/maximum file counts apply to each row separately. Every file is validated on the server with the field's own rules (allowed extensions, image check, maximum size), script and executable file types are always rejected, and the plugin warns users before submission if the selected files would exceed the server's upload limits. Uploaded files are stored with the field's usual settings (destination folder, file name prefix, image thumbnails), attached to notification emails, listed per row in emails, PDFs, and the submissions backend, and deleted together with their submission. Uploaded images can be displayed as images: a switch on the End marker shows jpg, png, gif, and webp files as thumbnails, at a width you set, in the group tables and cards. Each thumbnail links to the file. The images are served through the same secured link as the downloads, so this also works when the upload folder is not public, and PDFs use the local file directly.

Group data can also be shown on your own pages through RSForm! Pro's View Submissions menu item. The plugin's placeholders work in both its Row Layout (the listing) and its Details Layout (a single submission and its PDF). Compact placeholders suit the listing: row count, one-line summary, first or last value, and photo thumbnails. The full tables, cards, and totals suit the detail page. Only the placeholders a layout actually uses are generated, so long listings stay fast. Values are escaped for safe public display, and submissions made before a group existed show empty cells instead of raw placeholder code.

In the submissions backend every group field — text, multi-line text, dropdown, radio button, or checkbox — appears as an editable grid with one cell per value, and saving a submission keeps every value.

For sites with their own JavaScript, the group sends browser events when a row is added, duplicated, moved, or removed, when a computed result changes, and when the minimum or maximum number of rows is reached. Removing a row can be cancelled (for example after a confirmation question), and every group is available through window.RepeatableGroupField.get('groupId'). None of this is required for the plugin to work.

Submitted data can be exported directly from the RSForm! Pro submissions backend using the built-in RG Export feature — a dedicated export button that appears alongside the standard export controls. Seven export formats are available in a single modal dialog, covering both flat and expanded tabular formats as well as a unique mixed layout: CSV pipe-separated and CSV expanded (one repetition per row), XLSX pipe-separated and XLSX expanded, and three mixed XLSX formats that embed repeatable group tables directly into the form's natural field order — with plain fields rendered as header-plus-data rows and each group block appearing as a titled sub-table (horizontal, field-major, or card style). All export formats support full or selection-only export.

Key Features:

  • Dynamic Rows - Users add rows via a configurable "Add row" control; each row is fully independent
  • Row Duplication - A configurable duplicate button clones any row (including all current values) and inserts the copy immediately below
  • Drag-and-Drop Reordering - When sortable rows are enabled, users can reorder rows by dragging the handle; submitted data reflects the visual order
  • Configurable Limits - Set minimum and maximum row counts per group, with controls disabling automatically at the limits
  • Custom Labels - Freely customizable Add and Remove button text, row header, and per-field validation message
  • Three Field Layouts - Stacked (vertical), side-by-side (horizontal), or a ready-to-use styled "card" layout — perfect for compact, table-like rows
  • Flexible Field Labels - Show field captions in every row, once as a shared header row, only on the first row, or hide them entirely
  • Configurable "Add Row" Position - Place the add-row control below the group, above it, or as a "+" button next to the remove button on every row
  • Grid Layout Support - Group fields can sit in one column or in separate rows of the RSForm! Pro grid layout; a visible warning appears if a group's End marker is missing or the markers are on different form pages
  • Live Calculated Totals - Configurable summary template with {sum}, {avg}, {min}, {max}, and {count} expressions plus arithmetic, rounding, and round/floor/ceil/abs/min/max functions; updates instantly on the frontend and renders into emails/PDFs via {groupId:summary} — works with numeric values from text, number, dropdown, radio, checkbox, and Computed fields
  • Per-Row Computed Field - A dedicated field type that calculates a value within a single row using a formula referencing other fields in the same row; supports arithmetic, rounding, functions, prefix/suffix text, and chained computed fields
  • Four Calculation Modes - Simple, conditional (if/then/else), multi-branch (if / else if / else rules, first match wins), and text (joins field values); conditions support && / ||, parentheses, arithmetic, and text comparisons such as {status} == "paid"
  • Result Display Options - Show a computed result as an input field, as plain text, or as a badge that can be coloured by value with CSS; hidden computed fields are calculated and stored without being shown
  • Per-Row File Uploads - The standard RSForm! Pro File Upload field works inside groups: single, multiple, and "Add more files" modes, per-row minimum/maximum file counts, server-side validation with the field's own rules, email attachments, download links in emails and the backend, and automatic cleanup when a submission is deleted
  • Images as Images - Optional thumbnail display for uploaded jpg, png, gif, and webp files in the group tables and cards, with a configurable width; served through the secured download link, using local files in PDFs
  • Front-End Submission Views - All placeholders work in RSForm! Pro's View Submissions Row Layout and Details Layout (including its PDF); only the placeholders a layout uses are generated, values are escaped for public display, and groups without data resolve to empty values
  • Editable Backend Grid - Every group field (text, multi-line text, dropdown, radio, checkbox) is edited as a grid with one cell per value; saving keeps every value; uploaded files are listed per row, read only
  • JavaScript Events - rg:ready, rg:rowadded, rg:rowduplicated, rg:beforeremove (cancellable), rg:rowremoved, rg:reordered, rg:computed, and rg:limit for your own scripts, plus window.RepeatableGroupField.get() / all() to reach any group on the page
  • Calendar Field Support - RSForm! Pro built-in Calendar and jQuery Calendar fields are automatically converted to native HTML5 date inputs within each row, working correctly in all rows including cloned and duplicated ones
  • Native RSForm! Pro Integration - Validation, conditional logic, and required fields work inside groups
  • Advanced Conditional Logic - Full per-row ACL support (requires Advanced Conditional Logic plugin v1.3.54+, 1.3.57+ for combined AND/OR rules): each row evaluates its own conditional rules independently
  • Clean Email Output - Automatic JSON-to-HTML conversion with six display styles per group: full table, table without header, table without row numbers, plain table, field-major table, or card view
  • PDF-Ready Output - Every group display style is also available in an unstyled "raw" variant with semantic CSS classes, ready to be styled in your own PDF templates (e.g. DOMPDF, mPDF)
  • Rich Placeholder Set - Per field: {fieldname:value}, {fieldname:list}, {fieldname:table}, {fieldname:first}, {fieldname:last}, {fieldname:inline}, {fieldname:count}; for File Upload fields also {fieldname:thumb}, {fieldname:thumbraw}, {fieldname:filename}, {fieldname:path}, and more. Fifteen {groupId:...} group-level placeholders: table, tablenoheader, tablenonum, tableplain, table_fields, cards (each with a _raw PDF variant), summary for live calculated totals, count for the number of rows, and inline for a one-line summary
  • Advanced Export - Seven export formats from a single modal: CSV and XLSX in pipe-separated or expanded (one row per repetition) mode, plus three mixed XLSX layouts that follow the form's field order and embed RG group tables between plain field blocks
  • Structured Data Storage - JSON array storage, exportable to CSV or XLSX from RSForm! Pro backend
  • Compatibility Indicators - Admin preview shows a compatibility badge for each grouped field
  • CSS Custom Properties - Over 20 CSS variables let you re-theme colours, spacing, and corner radii without rewriting the stylesheet
  • Multilingual Support - Complete Hungarian and English interface
  • Responsive Design - Mobile-friendly, automatically falls back to a stacked layout on small screens, works without Bootstrap dependency
  • Tested Releases - Every release passes an automated test suite covering calculations, placeholder output, the submissions editor, and packaging before it ships
  • Simple Installation & Updates - Upload ZIP, activate plugin, Start and End markers appear in RSForm! Pro editor; updates apply new options automatically while preserving existing form configurations
Timeslot Field for RSForm! Pro
Paid download

Timeslot Field for RSForm! Pro

By extensions.blaho.hu
RSForm! Pro Extensions
The Timeslot Field extension turns RSForm! Pro into a booking tool for time slots, events and resources with limited capacity. It adds two new field types to RSForm! Pro — radio buttons and checkboxes with capacity tracking — which count every booking against the places you set, disable full slots, and check the limit again on the server when the form is submitted. It suits event registration...
Glightbox
Free

Glightbox

By extensions.blaho.hu
Photos & Images
GLightbox Gallery A lightbox gallery for images, video and maps — free, GPL, and built to hold thousands of photos without slowing down your admin. > 1,000–2,000 items per gallery, stored in their own database table — not squeezed into the module's settings field. > The admin item list is virtualised, so opening and editing a 2,000-photo gallery feels like editing one with ten. Free Joo...
Form Expiry Field for RSForm! Pro
Paid download

Form Expiry Field for RSForm! Pro

By extensions.blaho.hu
RSForm! Pro Extensions
The Form Expiry Field plugin provides a comprehensive solution for RSForm! Pro forms, enabling automatic form closure based on date or capacity. The plugin adds a new field type to RSForm! Pro: expiration field, which monitors submissions in real-time and automatically closes the form when specified conditions are met. Perfect for campaigns, registrations, contests, or any time-limited or capacit...
Subscribe Link for RSMembership!
Free

Subscribe Link for RSMembership!

By extensions.blaho.hu
Membership & Subscriptions
Content plugin for Joomla that replaces shortcodes with RSMembership! subscription links and membership prices anywhere in your content. Perfect for pricing pages, articles introducing paid features, sidebar CTAs, and any content where a subscribe button or price needs to appear inline. The RSMembership! Subscribe Link plugin processes Joomla content and replaces two shortcodes — one for subscr...
Advanced Conditional Logic for RSForm! Pro
Paid download

Advanced Conditional Logic for RSForm! Pro

By extensions.blaho.hu
RSForm! Pro Extensions
The Advanced Conditional Logic plugin provides a comprehensive solution for RSForm! Pro forms, enabling dynamic field visibility, value manipulation, and intelligent form logic based on fully configurable conditions. The plugin adds a new field type to RSForm! Pro: the Advanced Conditional Logic, which evaluates rules in real-time and executes a series of actions on other form fields — showing o...
Flexbox Layout for TinyMCE
Paid download

Flexbox Layout for TinyMCE

By extensions.blaho.hu
Editor Buttons
With On-Canvas Row & Cell Handles and Responsive, Framework-Free Output System and editor-button plugin for Joomla that lets content authors build real flexbox layouts — rows, cells, alignment, spacing, responsive behavior — visually inside any TinyMCE editor, without writing a line of CSS or installing a heavy page builder. Perfect for multi-column articles, sidebar-and-content pages, featur...

Repeatable Group Field for RSForm! Pro

Version:
v1.7.13
Developer:
extensions.blaho.hu
Last updated:
Sep 29 2026
1 week ago
Date added:
May 24 2026
License:
GPLv2 or later
Type:
Paid download
Includes:
p e
Compatibility:
J4 J5 J6
Download

Uses Joomla! Update System