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

Adres via postcode en huisnummer New

Dutch address form: postcode (validated as 1234 AB and auto-formatted) plus house number and addition fills in street and city. States: empty, invalid postcode, searching (spinner), found (address card), addition required (select with existing additions), not found (enter manually) and manual edit. The demo uses a small list of mock addresses; in production you connect the PDOK Locatieserver (free, BAG data, /free?fq=postcode:...&fq=huisnummer:...).

Waar mogen we bezorgen?

Probeer

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.
<!-- Adres via postcode en huisnummer · NedDev · eigen werk. -->
<div class="jouw-container">
<form class="bap" novalidate><p class="bap__h">Waar mogen we bezorgen?</p><div class="bap__row"><div class="bap__f bap__f--pc"><label for="bap-pc">Postcode</label><input id="bap-pc" class="bap__pc" autocomplete="postal-code" placeholder="1234 AB" maxlength="7" aria-describedby="bap-msg" spellcheck="false"></div><div class="bap__f bap__f--nr"><label for="bap-nr">Huisnummer</label><input id="bap-nr" class="bap__nr" inputmode="numeric" autocomplete="off" maxlength="5" aria-describedby="bap-msg"></div><div class="bap__f bap__f--tv"><label for="bap-tv">Toevoeging</label><input id="bap-tv" class="bap__tv" autocomplete="off" maxlength="4" placeholder="optioneel"><select id="bap-tvs" class="bap__tvs" hidden aria-label="Toevoeging"></select></div></div><div class="bap__out" aria-live="polite"><p class="bap__msg" id="bap-msg"></p><div class="bap__card" hidden><svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" aria-hidden="true"><path d="M8 14.5s5-4.6 5-8.5A5 5 0 0 0 3 6c0 3.9 5 8.5 5 8.5z"/><circle cx="8" cy="6" r="1.8"/></svg><p class="bap__adr"></p><button type="button" class="bap__edit">Wijzigen</button></div><div class="bap__man" hidden><div class="bap__f"><label for="bap-str">Straat</label><input id="bap-str" class="bap__str" autocomplete="address-line1"></div><div class="bap__f"><label for="bap-pl">Plaats</label><input id="bap-pl" class="bap__pl" autocomplete="address-level2"></div></div></div><p class="bap__try">Probeer <button type="button" data-a="3011 AD|12">3011 AD 12</button><button type="button" data-a="2511 CV|5">2511 CV 5</button><button type="button" data-a="1234 AB|1">1234 AB 1</button><button type="button" data-a="0123 AB|4">0123 AB</button></p></form>
</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 →