Fullscreen Forms

  • JNext lesson
  • KPrevious lesson
  • FSearch lessons
  • EscClear search

The Fullscreen Forms extension transforms standard forms into a Typeform-style one-question-at-a-time interface. Each field group is displayed as a full-screen step with navigation and a progress bar.

Enabling Fullscreen Mode

  1. Edit your form.
  2. Go to the Settings tab.
  3. Set Display Mode to Fullscreen.
  4. Configure the fullscreen options.
  5. Save the form.

Configuration Options

Theme

Choose between Light and Dark themes. The light theme uses a white background with dark text. The dark theme uses a dark background with light text.

Setting: fullscreen_theme
Options: light, dark

Show Progress Bar

When enabled, a progress bar at the top of the screen shows how far the user has progressed through the form.

Setting: fullscreen_show_progress
Default: Enabled

Animation

The transition animation between questions.

Setting: fullscreen_animation
Options: slide, fade, scale

Page Title

A custom page title for the fullscreen form page. If left empty, the form title is used.

Setting: fullscreen_page_title

External CSS

URL to a custom stylesheet to load on the fullscreen form page. Use this for branding or advanced styling.

Setting: fullscreen_external_css

External JavaScript

URL to a custom JavaScript file to load on the fullscreen form page.

Setting: fullscreen_external_js

How It Works

When a form is set to fullscreen mode, the extension takes over the rendering. Instead of displaying all fields at once, the form markup is split into steps. Each step is displayed as a full-viewport section.

Users navigate between steps using:

  • A “Next” button to advance
  • A “Back” button to return to the previous step
  • Keyboard navigation (Enter to advance)

The final step shows the submit button. When submitted, the form processes through the normal AJAX handler.

Structuring Your Form for Fullscreen

The extension splits your form into steps based on your HTML structure. Each top-level block in your form markup becomes a step. Wrap related fields in container elements:

<div>
    <label for="name">What's your name?</label>
    <input type="text" name="name" id="name" placeholder="Type your name..." />
</div>

<div>
    <label for="email">What's your email?</label>
    <input type="email" name="email" id="email" placeholder="name@example.com" />
</div>

<div>
    <label for="message">What would you like to say?</label>
    <textarea name="message" id="message" rows="4" placeholder="Type your message..."></textarea>
</div>

<div>
    <button type="submit">Send</button>
</div>

Each <div> becomes one full-screen step.

Customization Hooks

Two hooks let you inject content into the fullscreen page:

  • cf_fullscreen_head – Fires in the <head> section. Use this to add meta tags, styles, or scripts.
  • cf_fullscreen_footer – Fires before the closing </body> tag. Use this for tracking scripts or additional markup.

Normal vs. Fullscreen

When the display mode is set to “normal” (the default), the form renders inline on the page as usual. Switching to “fullscreen” changes the rendering but does not affect form processing, validation, actions, or any other behavior. The same form works in both modes.

Assets

Fullscreen forms load their own dedicated CSS (fullscreen.css) and JavaScript (fullscreen.js) files. These are only loaded when a form is rendered in fullscreen mode.