To create a multi-step form in Webflow where at least one radio button selection is required before proceeding, you’ll need to use Webflow's built-in form structure along with custom interactions and a bit of JavaScript for validation.
Note: Webflow only enforces "Required" on form submission, not on step transitions. So we need extra logic to validate at each “Next” click.
<script> document.addEventListener("DOMContentLoaded", function () { const nextButtons = document.querySelectorAll(".next-button-class"); // Replace with your real class nextButtons.forEach(button => { button.addEventListener("click", function (e) { const currentStep = button.closest(".form-step-class"); // Replace with your step wrapper class const requiredRadioGroups = currentStep.querySelectorAll('[type="radio"][required]'); let isValid = true; requiredRadioGroups.forEach(group => { const name = group.name; const radios = currentStep.querySelectorAll(`input[name='${name}']`); const oneChecked = Array.from(radios).some(radio => radio.checked); if (!oneChecked) isValid = false; }); if (!isValid) { e.preventDefault(); alert("Please select an option before proceeding."); } }); }); });</script>
.next-button-class
and .form-step-class
with the actual Webflow class names you're using for next buttons and step containers.display: none/ flex
) to show/hide containers.To build a multi-step form with required radio buttons in Webflow, create separate step containers with radio inputs, use JavaScript to validate selection before moving forward, and manage visibility using Webflow interactions. This ensures users cannot proceed without selecting an option on each step.