Skip to content

Quote request form

A short form for tradespeople: type of job, description, postcode, timeframe, optional photos, then a confirmation summary.

  • Tailwind
  • React
  • CSS
  • WordPress
Open in a new tab

Description

Visitors pick the job on radio cards, describe their need with a character counter, give the site postcode (checked against the service area) and the desired timeframe. They can attach up to three photos, with thumbnails, size and a remove button; files that are too large or in another format are rejected with a clear message. Errors appear when leaving each field and in a clickable summary on submit; once the request is valid, a summary replaces the form. Accessibility: everything works with the keyboard, each message is tied to its field through aria-describedby and aria-invalid, focus moves to the error summary and then to the confirmation, added photos are announced by a live region, contrast exceeds 4.5:1 in light and dark modes and the confirmation animation stops with prefers-reduced-motion. Plug submission into your service (Formspree, your own API…).

Code

Loading the code…

Archive contents

formulaire-demande-devis-html-tailwind.zip3 files · 9 Ko

  • index.html27 Ko
  • README.md4 Ko
  • LICENSE.md1 Ko

Tags

Updated on October 15, 2026.

In the same spirit

  • An appointment form: reason, day with the native date picker, morning and afternoon slots as radio buttons, full slots crossed out and a summary of the choice.

    • Tailwind
    • React
    • CSS
    • WordPress
    Component
  • File drop zone

    Coming soon

    An upload field that accepts drag and drop and lists the chosen files.

    • Tailwind
    • React
    • CSS
    • WordPress
    Component
  • A list of settings toggled with switches, each with a description.

    • Tailwind
    • React
    • CSS
    • WordPress
    Component
  • Multi-step form

    Free for members

    An appointment booking split into three steps, with a progress indicator.

    • Tailwind
    • React
    • CSS
    • WordPress
    Component