HTML Skjema (Forms)
Skjemaer er måten vi samler inn informasjon fra brukeren på. I ren HTML handler dette om struktur og semantikk.
1. Grunnleggende Struktur
Et godt skjema består av par med <label> (merkelapp) og <input> (felt) i et <form> element. Et skjema avsluttes gjerne
med et <button type="button"> element.
<label for="navn">Ditt navn:</label>
<input type="text" id="navn" name="navn">
<button type="button">Send inn</button>
</form>
2. Knapper
Knapper brukes til å utføre handlinger. I moderne web-apper (som Svelte) vil vi ofte unngå at skjemaet lastes på nytt.
<button type="button">Klikk meg</button>
<!-- ❌ UNNGÅ: Gamle måten (laster siden på nytt) -->
<button>Send inn</button> <!-- (default type="submit") -->
<!-- ❌ UNNGÅ: Utdatert stil -->
<input type="button" value="Klikk meg">
3. Vanlige Input Typer
`type`-attributtet bestemmer hvordan feltet ser ut og fungerer på mobil (f.eks. riktig tastatur).
type="text": Vanlig tekst.type="number": Kun tall (åpner tall-tastatur på mobil).type="email": Krever @ og domene.type="password": Skjuler tegnene (••••).type="date": Datovelger.type="color": Fargevelger.
4. Valg (Radio, Checkbox, Select)
Radio (Ett valg)
Viktig: Alle må ha samme name for å
vite at de hører sammen (kun én kan velges).
<label><input type="radio" name="frukt" value="pare"> Pære</label>
Checkbox (Flere valg)
Bruk checked hvis den skal være valgt fra start.
<input type="checkbox"> Vilkår
Select (Nedtrekksmeny)
Husk value på hvert valg. Det er dette som sendes til
serveren.
<option value="oslo">Oslo</option>
<option value="bergen">Bergen</option>
<option value="trondheim">Trondheim</option>
</select>
🗝️ Sentrale Attributter
- type: Bestemmer typen felt (text, button, checkbox...).
- id: Unik identifikator for feltet. Brukes av label (`for`) og CSS/JS.
- name: Navnet på dataene når de sendes (spesielt viktig for radio buttons).
- value: Verdien som står i feltet (eller verdien som sendes ved valg).
- placeholder: Hjelpetekst som vises når feltet er tomt (grå tekst).