Gå til sidens indhold
Komponenter

Datofelter

Tre separate felter for dato, måned og år er den nemmeste måde for brugeren at indskrive en dato.

Eksempel på datofelter
Indsendelsesfrist For eksempel: 05 12 2018

Sådan bruges komponenten

Anvendes til

Sætter brugeren i stand til at tilføje struktureret datoinformation.

Anvendes ikke til

Når der er specifikt udvalgte datoer at vælge imellem som fx ved bookninger og planlægning med specifikke åbne og lukkede datoer.

Vejledning

Placér felterne i den rækkefølge for datoform, der anvendes i Danmark, det vil sige dag, måned og år.

Tilføj hjælpetekst, der viser formatet af datoen man efterspørger.

Ofte kan datofelter til indtastning være nemmere at anvende - og gøre tilgængeligt - end en datovælger (date picker) funktion.

Sådan (do)

Eksempel på, hvordan datoangivelse kan se ud

Sådan: Vis som udgangspunkt indtastningsfelter til datoer som 3 separate felter til dag, måned og år (Silver, 2018, s. 155-158). Brug de formular-elementer, der er mest effektive for brugerne. At indtaste en dato, en måned og et år i simple felter er i mange tilfælde hurtigere end at vælge datoerne via en datovælger (Babich, 2019; Enders, 2016, s. 107-109).

Ikke sådan (don't)

Eksempel på, hvordan datoangivelse ikke bør se ud

Ikke sådan: Brug ikke opdelte indtastningsfelter til angivelse af datoer, når der er specifikt udvalgte datoer at vælge i mellem, samt når ugedage kan have betydning for brugerens valg. Anvend her i stedet datovælger.

Fejlmeddelelse

Læs mere om korrekt brug af fejlmeddelelser og deres formuleringer.

Når der vises en fejlmeddelelse, vis da også fejlopsummering.

Eksempel på datofelter med fejlmeddelelse
Hvornår blev dit pas udstedt? For eksempel: 05 12 2018 Fejl: Datoen kan ikke være i fremtiden

Se komponenten i eksempelløsninger

Trinformular til registrering: Tidligere registrering (vælg ‘Ja’)

Referencer

Installation

HTML Struktur

Kodeeksempel
<div class="form-group">
    <fieldset aria-describedby="date-input-example-hint ">
        <legend class="form-label">
            Indsendelsesfrist
        </legend>
        <span class="form-hint" id="date-input-example-hint">For eksempel: 05 12 2018</span>

        <div class="date-group mt-3">

            <div class="form-group form-group-day">
                <label class="form-label" for="date-input-example-day">Dag</label>

                <input type="number" id="date-input-example-day" name="deadline-day"
                    class="form-input" required>
            </div>

            <div class="form-group form-group-month">
                <label class="form-label" for="date-input-example-month">Måned</label>

                <input type="number" id="date-input-example-month" name="deadline-month"
                    class="form-input" required>
            </div>

            <div class="form-group form-group-year">
                <label class="form-label" for="date-input-example-year">År</label>

                <input type="number" id="date-input-example-year" name="deadline-year"
                    class="form-input" required>
            </div>

        </div>
    </fieldset>
</div>
  • Anvend ikke JavaScript til automatisk at flytte fokus fra felt til felt, da det gør det svært for tastatur-brugere at navigere i formularen.
  • Datofelter-komponenten består af 3 inputfelter.

Fejlmeddelelse

Læs mere om korrekt brug af fejlmeddelelser og fejlmeddelelser’s implementering med datofelter.

Når der vises en fejlmeddelelse, vis da også en fejlopsummering.

Web Component-koden er i beta

Læs mere om Web Components i beta-version. Hvis du har forslag til forbedringer eller kommentarer, kan du oprette et issue på GitHub eller sende en e-mail til FDS-teamet.

Indtast dato
Web Component Genereret HTML
<fds-date-input>
    <fieldset>
        <legend>Indtast dato</legend>
        <div>
            <div data-attribute="day">
                <label>Dag</label>
                <input name="day" id="dat-day-fdfbbdec">
            </div>
            <div data-attribute="month">
                <label>Måned</label>
                <input name="month" id="dat-month-1be579c9">
            </div>
            <div data-attribute="year">
                <label>År</label>
                <input name="year" id="dat-year-f31c34cb">
            </div>
        </div>
    </fieldset>
</fds-date-input>
<fds-date-input>
    <fieldset>
        <legend>Indtast dato</legend>
        <div>
            <div data-attribute="day">
                <label for="dat-day-fdfbbdec">Dag</label>
                <input name="day" id="dat-day-fdfbbdec" type="number">
            </div>
            <div data-attribute="month">
                <label for="dat-month-1be579c9">Måned</label>
                <input name="month" id="dat-month-1be579c9" type="number">
            </div>
            <div data-attribute="year">
                <label for="dat-year-f31c34cb">År</label>
                <input name="year" id="dat-year-f31c34cb" type="number">
            </div>
        </div>
    </fieldset>
</fds-date-input>

Om denne komponent

Denne komponent anvender light DOM. Det betyder, at komponenten genererer HTML, der kan tilgås ligesom al anden HTML på siden. Du kan som udvikler vælge mellem at tage Web Component-koden, hvis du vil lade komponenten generere HTML’en, eller tage versionen med den genererede kode, hvis du har brug for at ændre i HTML’en først. Begge muligheder vises i fanebladene i komponentens eksempler.

Uanset hvilken kode du tager, vil komponenten stadig aktivere den nødvendige JavaScript. Bemærk, at udvalgte light DOM-komponenter har en ready-attribut, du som udvikler kan bruge, hvis du i dit framework har behov for at udskyde initialisering af komponenten.

Læs mere på Web Components i beta-version om komponenternes anvendelse af light DOM og shadow DOM samt vores ønsker til feedback.

Varianter

Fejl

Indtast dato
Der er sket en fejl
Indtast dato
Fejl i indtastet dag og år
Web Component Genereret HTML
<fds-date-input>
    <fieldset>
        <legend>Indtast dato</legend>
        <div>
            <div data-attribute="day">
                <label>Dag</label>
                <input name="day" id="dat-day-450e93ab">
            </div>
            <div data-attribute="month">
                <label>Måned</label>
                <input name="month" id="dat-month-bc1fc9e8">
            </div>
            <div data-attribute="year">
                <label>År</label>
                <input name="year" id="dat-year-4783fc19">
            </div>
        </div>
        <fds-error-message id="errore8d9ef0e">Der er sket en fejl</fds-error-message>
    </fieldset>
</fds-date-input>

<fds-date-input>
    <fieldset>
        <legend>Indtast dato</legend>
        <div>
            <div data-attribute="day">
                <label>Dag</label>
                <input name="day" id="dat-day-1ab610af">
            </div>
            <div data-attribute="month">
                <label>Måned</label>
                <input name="month" id="dat-month-2b9149d1">
            </div>
            <div data-attribute="year">
                <label>År</label>
                <input name="year" id="dat-year-5572ff30">
            </div>
        </div>
        <fds-error-message targets="day, year" id="errorcafee2aa">Fejl i indtastet dag og år</fds-error-message>
    </fieldset>
</fds-date-input>
<fds-date-input>
    <fieldset aria-describedby="errore8d9ef0e">
        <legend>Indtast dato</legend>
        <div>
            <div data-attribute="day">
                <label for="dat-day-450e93ab">Dag</label>
                <input name="day" id="dat-day-450e93ab" type="number">
            </div>
            <div data-attribute="month">
                <label for="dat-month-bc1fc9e8">Måned</label>
                <input name="month" id="dat-month-bc1fc9e8" type="number">
            </div>
            <div data-attribute="year">
                <label for="dat-year-4783fc19">År</label>
                <input name="year" id="dat-year-4783fc19" type="number">
            </div>
        </div>
        <fds-error-message id="errore8d9ef0e">
            <svg class="icon-svg alert-icon" aria-label="Fejl" focusable="false"><use href="#error"></use></svg>
            <span class="visible-message">Der er sket en fejl</span>
        </fds-error-message>
    </fieldset>
</fds-date-input>
<fds-date-input>
    <fieldset aria-describedby="errorcafee2aa">
        <legend>Indtast dato</legend>
        <div>
            <div data-attribute="day">
                <label for="dat-day-1ab610af">Dag</label>
                <input name="day" id="dat-day-1ab610af" type="number" aria-invalid="true">
            </div>
            <div data-attribute="month">
                <label for="dat-month-2b9149d1">Måned</label>
                <input name="month" id="dat-month-2b9149d1" type="number">
            </div>
            <div data-attribute="year">
                <label for="dat-year-5572ff30">År</label>
                <input name="year" id="dat-year-5572ff30" type="number" aria-invalid="true">
            </div>
        </div>
        <fds-error-message targets="day, year" id="errorcafee2aa">
            <svg class="icon-svg alert-icon" aria-label="Fejl" focusable="false"><use href="#error"></use></svg>
            <span class="visible-message">Fejl i indtastet dag og år</span>
        </fds-error-message>
    </fieldset>
</fds-date-input>

Hjælpetekst

Indtast dato Dette er en hjælpetekst
Web Component Genereret HTML
<fds-date-input>
    <fieldset>
        <legend>Indtast dato</legend>
        <fds-help-text id="help9c6e2d9d">Dette er en hjælpetekst</fds-help-text>
        <div>
            <div data-attribute="day">
                <label>Dag</label>
                <input name="day" id="dat-day-d16cdbdf">
            </div>
            <div data-attribute="month">
                <label>Måned</label>
                <input name="month" id="dat-month-1bd0bdef">
            </div>
            <div data-attribute="year">
                <label>År</label>
                <input name="year" id="dat-year-26f9a2e8">
            </div>
        </div>
    </fieldset>
</fds-date-input>
<fds-date-input>
    <fieldset aria-describedby="help9c6e2d9d">
        <legend>Indtast dato</legend>
        <fds-help-text id="help9c6e2d9d" class="help-text">Dette er en hjælpetekst</fds-help-text>
        <div>
            <div data-attribute="day">
                <label for="dat-day-d16cdbdf">Dag</label>
                <input name="day" id="dat-day-d16cdbdf" type="number">
            </div>
            <div data-attribute="month">
                <label for="dat-month-1bd0bdef">Måned</label>
                <input name="month" id="dat-month-1bd0bdef" type="number">
            </div>
            <div data-attribute="year">
                <label for="dat-year-26f9a2e8">År</label>
                <input name="year" id="dat-year-26f9a2e8" type="number">
            </div>
        </div>
    </fieldset>
</fds-date-input>

Obligatoriske og frivillige inputfelter

Indtast dato
Indtast dato
Indtast dato
Indtast dato
Web Component Genereret HTML
<fds-date-input input-required show-required-status>
    <fieldset>
        <legend>Indtast dato</legend>
        <div>
            <div data-attribute="day">
                <label>Dag</label>
                <input name="day" id="dat-day-1751c6c4">
            </div>
            <div data-attribute="month">
                <label>Måned</label>
                <input name="month" id="dat-month-a76c9d44">
            </div>
            <div data-attribute="year">
                <label>År</label>
                <input name="year" id="dat-year-400a32d5">
            </div>
        </div>
    </fieldset>
</fds-date-input>

<fds-date-input show-required-status>
    <fieldset>
        <legend>Indtast dato</legend>
        <div>
            <div data-attribute="day">
                <label>Dag</label>
                <input name="day" id="dat-day-7bfcd04c">
            </div>
            <div data-attribute="month">
                <label>Måned</label>
                <input name="month" id="dat-month-1035758b">
            </div>
            <div data-attribute="year">
                <label>År</label>
                <input name="year" id="dat-year-d522cdfd">
            </div>
        </div>
    </fieldset>
</fds-date-input>

<fds-date-input input-required show-required-status="required">
    <fieldset>
        <legend>Indtast dato</legend>
        <div>
            <div data-attribute="day">
                <label>Dag</label>
                <input name="day" id="dat-day-97d3901c">
            </div>
            <div data-attribute="month">
                <label>Måned</label>
                <input name="month" id="dat-month-d9ae2be8">
            </div>
            <div data-attribute="year">
                <label>År</label>
                <input name="year" id="dat-year-1368cd98">
            </div>
        </div>
    </fieldset>
</fds-date-input>

<fds-date-input show-required-status="optional">
    <fieldset>
        <legend>Indtast dato</legend>
        <div>
            <div data-attribute="day">
                <label>Dag</label>
                <input name="day" id="dat-day-3a92750e">
            </div>
            <div data-attribute="month">
                <label>Måned</label>
                <input name="month" id="dat-month-dca46fa3">
            </div>
            <div data-attribute="year">
                <label>År</label>
                <input name="year" id="dat-year-54516da7">
            </div>
        </div>
    </fieldset>
</fds-date-input>
<fds-date-input input-required="" show-required-status="">
    <fieldset>
        <legend>Indtast dato<span class="weight-normal"> (frivilligt)</span>
        </legend>
        <div>
            <div data-attribute="day">
                <label for="dat-day-1751c6c4">Dag</label>
                <input name="day" id="dat-day-1751c6c4" type="number" required="">
            </div>
            <div data-attribute="month">
                <label for="dat-month-a76c9d44">Måned</label>
                <input name="month" id="dat-month-a76c9d44" type="number" required="">
            </div>
            <div data-attribute="year">
                <label for="dat-year-400a32d5">År</label>
                <input name="year" id="dat-year-400a32d5" type="number" required="">
            </div>
        </div>
    </fieldset>
</fds-date-input>
<fds-date-input show-required-status="">
    <fieldset>
        <legend>Indtast dato<span class="weight-normal"> (frivilligt)</span>
        </legend>
        <div>
            <div data-attribute="day">
                <label for="dat-day-7bfcd04c">Dag</label>
                <input name="day" id="dat-day-7bfcd04c" type="number">
            </div>
            <div data-attribute="month">
                <label for="dat-month-1035758b">Måned</label>
                <input name="month" id="dat-month-1035758b" type="number">
            </div>
            <div data-attribute="year">
                <label for="dat-year-d522cdfd">År</label>
                <input name="year" id="dat-year-d522cdfd" type="number">
            </div>
        </div>
    </fieldset>
</fds-date-input>
<fds-date-input input-required="" show-required-status="required">
    <fieldset>
        <legend>Indtast dato<span class="weight-normal"> (required)</span>
        </legend>
        <div>
            <div data-attribute="day">
                <label for="dat-day-97d3901c">Dag</label>
                <input name="day" id="dat-day-97d3901c" type="number" required="">
            </div>
            <div data-attribute="month">
                <label for="dat-month-d9ae2be8">Måned</label>
                <input name="month" id="dat-month-d9ae2be8" type="number" required="">
            </div>
            <div data-attribute="year">
                <label for="dat-year-1368cd98">År</label>
                <input name="year" id="dat-year-1368cd98" type="number" required="">
            </div>
        </div>
    </fieldset>
</fds-date-input>
<fds-date-input show-required-status="optional">
    <fieldset>
        <legend>Indtast dato<span class="weight-normal"> (optional)</span>
        </legend>
        <div>
            <div data-attribute="day">
                <label for="dat-day-3a92750e">Dag</label>
                <input name="day" id="dat-day-3a92750e" type="number">
            </div>
            <div data-attribute="month">
                <label for="dat-month-dca46fa3">Måned</label>
                <input name="month" id="dat-month-dca46fa3" type="number">
            </div>
            <div data-attribute="year">
                <label for="dat-year-54516da7">År</label>
                <input name="year" id="dat-year-54516da7" type="number">
            </div>
        </div>
    </fieldset>
</fds-date-input>

Deaktiveret

Indtast dato
Web Component Genereret HTML
<fds-date-input>
    <fieldset disabled>
        <legend>Indtast dato</legend>
        <div>
            <div data-attribute="day">
                <label>Dag</label>
                <input name="day" id="dat-day-4782dcc3">
            </div>
            <div data-attribute="month">
                <label>Måned</label>
                <input name="month" id="dat-month-6ddc63c0">
            </div>
            <div data-attribute="year">
                <label>År</label>
                <input name="year" id="dat-year-b579da81">
            </div>
        </div>
    </fieldset>
</fds-date-input>
<fds-date-input>
    <fieldset disabled="">
        <legend>Indtast dato</legend>
        <div>
            <div data-attribute="day">
                <label for="dat-day-4782dcc3">Dag</label>
                <input name="day" id="dat-day-4782dcc3" type="number">
            </div>
            <div data-attribute="month">
                <label for="dat-month-6ddc63c0">Måned</label>
                <input name="month" id="dat-month-6ddc63c0" type="number">
            </div>
            <div data-attribute="year">
                <label for="dat-year-b579da81">År</label>
                <input name="year" id="dat-year-b579da81" type="number">
            </div>
        </div>
    </fieldset>
</fds-date-input>

Konfiguration

fds-date-input

Attributter

Attribut Beskrivelse
show-required-status Viser om datofelterne er obligatoriske eller frivillige baseret på required-attributten. Indsæt en tekst i attributten for at overskrive default-teksten.
legend Overskriv teksten i fieldset-elementets legend. Default er Indtast dato.
input-id Tilføj et fælles ID-suffiks til datofelterne. Hvert felt får ID’et dag-/måned-/år- efterfulgt af den angivne værdi.
input-readonly Sæt til true for at gøre alle datofelter read-only.
input-required Sæt til true for at gøre alle datofelter obligatoriske.

fds-help-text

Attributter

Attribut Beskrivelse
id ID for hjælpeteksten. Hvis denne er udeladt, genereres et tilfældigt ID.
hidden Skjuler hjælpeteksten. Skal sættes til true eller være tom for at tage effekt.

Events

Event Beskrivelse
help-text-callback Udløses på det omsluttende element, når hjælpeteksten tilføjes, fjernes, eller dens hidden-attribut ændres.
help-text-visibility-changed Udløses på det omsluttende element, når hidden-attributten ændres. event.detail.helptextId indeholder hjælpetekstens ID, og event.detail.isHidden angiver, om den er skjult.

fds-error-message

Attributter

Attribut Beskrivelse
id ID for fejlbeskeden. Hvis denne er udeladt, genereres et tilfældigt ID.
icon-text Skærmlæsertekst for ikonet. Default er Fejl.
hidden Skjuler fejlbeskeden. Skal sættes til true eller være tom for at tage effekt.
targets Bruges kun af fds-date-input. Angiv ID'er eller navne på de inputfelter, fejlbeskeden er relateret til, separeret med komma.
message Teksten der skal vises i fejlbeskeden. Kan også angives som indhold i elementet.

Events

Event Beskrivelse
error-message-callback Udløses på det omsluttende element, når fejlbeskeden tilføjes, fjernes, eller en af dens attributter ændres.
error-message-visibility-changed Udløses på det omsluttende element, når hidden-attributten ændres. event.detail.errorId indeholder fejlbeskedens ID, og event.detail.isHidden angiver, om den er skjult.

Vi indsamler statistik ved hjælp af tredjepartscookies til at forbedre brugeroplevelsen.

Alle indsamlede data anonymiseres.

Læs mere om vores brug af cookies