Home Work
SaaS developmentAI developmentAPI developmentMobile app developmentGoogle Ads managementHeadless ShopifyLaravel developmentNext.js developmentReact developmentTypeScript engineeringUI/UX designSEO & AEOEcommerce development
AI solutionsB2B platformsE-commerceHospitalityLead generationLogisticsEducationProcess automationSaaS platformsStartup MVPReal estateHealthcare
LegalHealthcareReal estateFinanceHospitality
The HagueRotterdamAmsterdamUtrechtEindhovenAlmereBredaArnhemNijmegenTilburgEnschedeGroningenLeidenDelftZoetermeerDen Bosch
Studio
AboutProcessLabBlogContact

Datumprikker met kalender New

Date field with a calendar panel following the ARIA grid pattern: arrows, Home/End, PageUp/PageDown (Shift for a year), Enter picks, Esc closes. Typing dd-mm-yyyy also works; closed days (Sun/Mon) and past dates are greyed out with an explanation. Panel enters via @starting-style and transition-behavior:allow-discrete (fallback: shown instantly). On a full page the panel can become popover="auto" with anchor positioning.

Open di t/m za. Typ bv. 12-10-2026 om de foutmelding te zien.

gesloten

How to use it

  1. Paste the HTML where the forms & inputs should appear.
  2. Add the CSS to your stylesheet. All classes are prefixed, so nothing clashes with your own styles.
  3. Add the JavaScript and call init() with the element that contains the HTML.
<!-- Datumprikker met kalender · NedDev · eigen werk. -->
<div class="jouw-container">
<div class="bdp-q"><div class="bdp"><div class="bdp__field"><label class="bdp__lbl" for="bdp-in">Datum van je afspraak</label><div class="bdp__ctl"><input id="bdp-in" class="bdp__in" type="text" inputmode="numeric" placeholder="dd-mm-jjjj" autocomplete="off" aria-describedby="bdp-msg"><button type="button" class="bdp__open" aria-haspopup="dialog" aria-expanded="false" aria-controls="bdp-pop" aria-label="Kies een datum in de kalender"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" aria-hidden="true"><rect x="2" y="3" width="12" height="11" rx="1.5"/><path d="M2 6.5h12M5.5 1.5v3M10.5 1.5v3"/></svg></button></div><p class="bdp__msg" id="bdp-msg" aria-live="polite">Open di t/m za. Typ bv. 12-10-2026 om de foutmelding te zien.</p><p class="bdp__leg"><span class="bdp__sw"></span>gesloten</p></div><div class="bdp__pop" id="bdp-pop" role="dialog" aria-modal="false" aria-labelledby="bdp-m" hidden><div class="bdp__head"><button type="button" class="bdp__nav bdp__prev" aria-label="Vorige maand">&lsaquo;</button><h3 class="bdp__month" id="bdp-m" aria-live="polite"></h3><button type="button" class="bdp__nav bdp__next" aria-label="Volgende maand">&rsaquo;</button><button type="button" class="bdp__nav bdp__x" aria-label="Kalender sluiten">&times;</button></div><table class="bdp__grid" role="grid" aria-labelledby="bdp-m"><thead><tr><th scope="col" abbr="maandag">ma</th><th scope="col" abbr="dinsdag">di</th><th scope="col" abbr="woensdag">wo</th><th scope="col" abbr="donderdag">do</th><th scope="col" abbr="vrijdag">vr</th><th scope="col" abbr="zaterdag">za</th><th scope="col" abbr="zondag">zo</th></tr></thead><tbody class="bdp__body"></tbody></table></div></div></div>
</div>

More forms & inputs

Seen something you like?

Add it to your selection and send it over. We build your site around it, in your brand.

Get in touch →