Input brukes når vi har behov for å ta imot tekst fra sluttbruker.
Normal
I sin enkleste form er Input bare et enkelt tekstinputfelt.
<Inputlabel="Inputfelt-label"/>
Kopiert!
Med label
info
WCAG 3.3.2 krever at alle skjemafelter skal ha en tilhørendelabel.
Label som prop
Den enkleste (og anbefalte) måten å gi inputfeltet en label er å angi dette gjennom komponentens label-prop. Dette vil rendre en <label> rett over feltet, med korrekt CSS-klasse og for-attributt ferdig påført:
<Inputlabel="Mitt skjemafelt:"/>
Kopiert!
Label som komponent
Du kan også importere Label-komponenten og manuelt sette denne utenfor inputfeltet:
advarsel
Husk å gi Label-komponenten korrekt for/htmlFor-attributt (som skal ha samme verdi som inputfeltets id-attributt) slik at disse blir sammenkoblet riktig.
Unntaksvis kan man også angi label via inputfeltets aria-label- eller aria-labelledby-attributter. I slike tilfeller kan det være greit å supplere inputfeltet med et placeholder-attributt også.
advarsel
Dette er foreløpig kun tillatt på inputfelter inne i tabell-rader eller lignende tilfeller hvor det er veldig vanskelig å ha en synlig tekst-label i nærheten av inputfeltet. Skal ikke misbrukes.
<Inputaria-label="Mitt skjemafelt:"placeholder="Her kan det skrives"/>
eller
<Inputaria-labelledby="id-til-html-element-med-label-tekst"placeholder="Her kan det skrives"/>
Kopiert!
Nummer
Hvis man ønsker at brukeren skal sette inn tall og da gi dem talltastaturet på mobil, ta i bruk inputMode="numeric" pattern="[0-9]*"
<Inputlabel={<divstyle={{ display:"flex"}}>
Inputfelt-label
<Hjelpetekststyle={{ marginLeft:"0.5rem"}}>
Innholdet vil vises når brukeren klikker på knappen.
</Hjelpetekst></div>}/>
Kopiert!
Disabled
advarsel
Merk at disabled bør unngås, og at bruken heller bør løses på andre måter, da fks kombinert med tydelige feilmeldinger hvis handlingen av en eller annen grunn ikke er tillatt. Ler mer om dette på siden vår om `disabled`.
<Inputlabel="Inputfelt-label"disabled/>
Kopiert!
Innhold mellom label og skjemafelt
Bruk description-propen for å legge inn egendefinert HTML-innhold mellom labelen og skjemafeltet.
En kort beskrivelse av feltet
<Inputlabel="Inputfelt-label"description="En kort beskrivelse av feltet"/>
Kopiert!
Feilmarkering
Normal
Her er det noe feil
<Inputlabel="Inputfelt-label"feil="Her er det noe feil"/>
Kopiert!
Forenklet
<Inputlabel="Inputfelt-label"feil/>
Kopiert!
Lengde
Lengden på inputfelt skal tilpasses det antallet tegn bruker skal fylle inn. For å holde skjemaene
ryddige og oversiktlige, samt for å lette utviklingen er det satt et sett med faste bredder. Velg
den bredden som passer best til dataene bruker skal fylle inn.
Man kan også rendre en mindre 32px versjon ved å bruke mini-attributtet.
advarsel
Som hovedregel skal vi alltid bruke de store inputfeltene våre. For tilfeller med svært begrenset plass kan de mindre inputfeltene brukes unntaksvis ved klart behov.