Home Werk
SaaS bouwenAI developmentAPI developmentMobile app developmentGoogle Ads managementHeadless ShopifyLaravel developmentNext.js developmentReact developmentTypeScript engineeringUI/UX designSEO & AEOWebshop bouwen
AI-oplossingenB2B-platformsE-commerceHorecaLead generationLogistiekOnderwijsProcesautomatiseringSaaS-platformsStartup MVPVastgoedZorg
JuridischZorgVastgoedFinanceHoreca
Den HaagRotterdamAmsterdamUtrechtEindhovenAlmereBredaArnhemNijmegenTilburgEnschedeGroningenLeidenDelftZoetermeerDen Bosch
Studio
OverWerkwijzeLabBlogContact

Kortingscode met alle staten Nieuw

Kortingscodeveld in een ordersamenvatting: eerst een link, dan veld plus Toepassen. Staten: leeg (knop uit), controleren (spinner, aria-busy), geldig (code als chip met verwijderknop, kortingsregel en een totaal dat optelt naar het nieuwe bedrag), ongeldig en verlopen (met datum). Probeer-chips vullen een code in. Codes staan als nep-data in de JS; in productie controleert je server ze. Totaal-animatie staat uit bij prefers-reduced-motion.

Subtotaal 3 artikelen
Verzending
€ 4,95
Totaal incl. btw

Probeer

Zo gebruik je het

  1. Plak de HTML op de plek waar het onderdeel moet komen.
  2. Zet de CSS in je stylesheet. Alle klassen hebben een eigen voorvoegsel, dus niets botst met je eigen opmaak.
  3. Voeg de JavaScript toe en roep init() aan met het element waar de HTML in staat.
<!-- Kortingscode met alle staten · NedDev · eigen werk. -->
<div class="jouw-container">
<div class="bkc"><dl class="bkc__dl"><div><dt>Subtotaal <span>3 artikelen</span></dt><dd class="bkc__sub"></dd></div><div><dt>Verzending</dt><dd>&euro;&nbsp;4,95</dd></div><div class="bkc__disc" hidden><dt>Korting <span class="bkc__dc"></span></dt><dd class="bkc__dv"></dd></div><div class="bkc__tot"><dt>Totaal <span>incl. btw</span></dt><dd class="bkc__t" aria-live="polite"></dd></div></dl><button type="button" class="bkc__reveal" aria-expanded="false" aria-controls="bkc-box">Kortingscode toevoegen</button><div class="bkc__box" id="bkc-box" hidden><form class="bkc__form" novalidate><label class="bkc__vh" for="bkc-in">Kortingscode</label><div class="bkc__ctl"><input id="bkc-in" class="bkc__in" autocomplete="off" autocapitalize="characters" spellcheck="false" placeholder="Kortingscode" aria-describedby="bkc-msg"><button type="button" class="bkc__clr" aria-label="Veld leegmaken" hidden>&times;</button></div><button type="submit" class="bkc__ap" disabled>Toepassen</button></form><p class="bkc__msg" id="bkc-msg" aria-live="polite"></p><div class="bkc__chip" hidden><span class="bkc__cn"></span><button type="button" class="bkc__rm" aria-label="Kortingscode verwijderen">&times;</button></div></div><p class="bkc__try">Probeer <button type="button" data-c="HERFST10">HERFST10</button><button type="button" data-c="WELKOM5">WELKOM5</button><button type="button" data-c="ZOMER25">ZOMER25</button><button type="button" data-c="GRATIS">GRATIS</button></p></div>
</div>

Meer uit formulieren & invoer

Iets gezien dat je mooi vindt?

Zet het in je selectie en stuur hem op. Dan bouwen we je site eromheen, in jouw huisstijl.

Neem contact op →