Avmerkingsboksene er et uunnværlig element i webskjemaer, spesielt når det gjelder å tilby brukerne en opt-in mulighet, for eksempel å akseptere vilkårene eller abonnere på et nyhetsbrev. I denne veiledningen vil jeg se nærmere på de grunnleggende aspektene ved avmerkingsbokser, forklare hvordan de fungerer og gi deg trinnvise instruksjoner om hvordan du kan implementere avmerkingsbokser i skjemaene dine.
Avmerkingsboksene tillater ikke bare enkle ja/ nei-valg, men kan også brukes sammen med andre skjemaelementer på en nyttig måte. Denne veiledningen gir deg nødvendig kunnskap for å implementere og bruke avmerkingsbokser riktig.
Viktigste funn
- Avmerkingsbokser er ideelle verktøy for binære valg i skjemaer.
- Hvis en avmerkingsboks ikke er aktivert, blir den ikke sendt.
- Standardverdien for en ikke-avhaket avmerkingsboks betraktes som tom.
- Du kan ha avmerkingsbokser som er standard aktivert ved å bruke attributtet 'checked'.
- Forståelsen av hvordan avmerkingsbokser fungerer er avgjørende for riktig håndtering av skjemadata.
Trinn-for-trinn-veiledning
Trinn 1: Opprett avmerkingsboksene
Start med å opprette avmerkingsboksene i HTML. Du trenger attributtet type="checkbox" og en name-egenskap for hver avmerkingsboks for å identifisere verdien deres ved innsending av skjemaet.
I dette eksempelet oppretter vi to avmerkingsbokser: en for å samtykke til vilkårene og en for å motta nyhetsbrevet. De to avmerkingsboksene identifiseres med navnene "accept TNCs" og "receive Newsletter".
Trinn 2: Sett opp skjemaet
Sett opp skjemaet ditt med enten GET- eller POST-metoden. I dette eksempelet bruker vi GET-metoden, slik at vi kan se valget i URL-parameteren.
Her er et enkelt eksempel på et skjema med avmerkingsboksene. Pass på at avmerkingsboksene er inneholdt innenfor en <form>-tagg for at dataene skal behandles korrekt.
Trinn 3: Sjekk de innsendte dataene
Send inn skjemaet uten å aktivere en avmerkingsboks. Du vil legge merke til at ingenting vises i URL-en.
Det spesielle med avmerkingsbokser er at når de ikke er markert, sendes ingen verdi. Det betyr at de ikke vises i URL-parameterne, noe som i tilfelle GET-metoden etterlater den tilsvarende oppføringen tom.
Trinn 4: Legg til verdier i avmerkingsboksene
Aktiver den første avmerkingsboksen og send skjemaet på nytt. Kun de aktiverte avmerkingsboksene vises i de innsendte dataene.
Kun den aktuelle avmerkingsboksen som er valgt, blir sendt. I dette tilfellet vil du se det spesifikke navnet og verdien for den aktive avmerkingsboksen i skjemadataene.
Trinn 5: Definer standardverdi
For å sette en avmerkingsboks som standard valgt, legg til attributtet checked til den relevante avmerkingsboksen.
Ved å bruke attributtet checked vil avmerkingsboksen være aktivert når siden lastes. Dette er nyttig hvis du ønsker at spesifikke valg skal være standardvalgt.
Trinn 6: Behandle brukerinput
Når brukeren sender inn skjemainput, sjekk verdiene for avmerkingsboksene. Forvent kun navnene på de avhakkede boksene i de innsendte dataene.
Det er viktig å forsikre deg om at baksiden din (for eksempel en tjener som Node.js med Express) kan reagere på tomme eller manglende verdier skikkelig.
Oppsummering
I denne veiledningen har du lært grunnleggende om avmerkingsbokser i web-skjemaer. Du vet nå hvordan du oppretter avmerkingsbokser, forstår deres funksjonalitet og hvordan du kan sikre at dataene blir riktig sendt. Avmerkingsbokser gir en enkel måte å registrere brukerpreferanser på, og bør tas med i alle web-skjemaer.
Ofte stilte spørsmål
Hva er forskjellen mellom avmerkingsbokser og radioknapper?Avmerkingsbokser tillater flere valgmuligheter, mens radioknapper bare tillater ett valg blant mange.
Hvorfor vises ikke en avmerkingsboks i URL-parameterne når den ikke er haket av?En ikke-haket avmerkingsboks har ingen verdi og blir derfor ikke sendt med de innsendte skjemadataene.
Hvordan setter jeg en avmerkingsboks som standard "valgt"?Legg til attributtet checked i avmerkingsboksen i HTML-en din.
Kan jeg aktivere flere avmerkingsbokser samtidig?Ja, brukere kan velge flere avmerkingsbokser samtidig i et skjema.