HTML & CSS for begyndere

HTML og CSS for begyndere (Del 15): Formularer (3)

Alle videoer i tutorialen

Selvom HTML5-formularer har langt flere funktioner end deres forgængere, er de lige så lette at definere.

HTML5 tilbyder faktisk mange nye felttyper. Understøttelsen i de nuværende browsere er allerede relativt god. Ikke desto mindre vil jeg kun præsentere jer for felttyper, der rent faktisk er praktisk anvendelige på dette sted.


Farvevælger

Du kan give dine besøgende mulighed for at vælge en farve.

HTML & CSS for begyndere (Del 15): Formularer (3)

Når man klikker på sådan et felt, åbnes en typisk farvevælger.

HTML & CSS for begyndere (Del 15): Formularer (3)



Her kan man vælge den ønskede farve. Sådan defineres en farvevælger: <input type="color" />.

Vælg din yndlingsfarve: <input type="color" name="lf" />



Feltet skal altid tildeles en værdi. Hvis værdien mangler eller er ugyldig, antages automatisk #000 (altså sort).

Dato og tid

Især med hensyn til felttyper til dato- og tidsangivelser er der mange nyheder i HTML5. Og disse felttyper er faktisk ret avancerede. Overvej f.eks., hvilke skridt der normalt er nødvendige, hvis man vil tilbyde sine besøgende et datoindtastningsfelt. Normalt er det umuligt at gøre dette uden JavaScript (eller Flash). Takket være HTML5 er det nu meget nemmere. Her skal man blot definere et indtastningsfelt af typen date.

<input type="date" />



Browseren er udelukkende ansvarlig for visningen og implementeringen af kalenderen. Browserne skal vise en passende widget til visning af kalenderen. Sådan ser det ud i Google Chrome:

HTML & CSS for begyndere (Del 15): Formularer (3)

Ved brug af date defineres en kalender, hvor brugerne kan vælge den ønskede dato. Datoen overføres automatisk til tekstfeltet efter valget.

Lige så nemt er det at oprette et felt til valg af tid. Hertil bruges et felt af typen time.

<input type="time" />



Med time viser browserne kontrolknapper til valg af klokkeslæt.

HTML & CSS for begyndere (Del 15): Formularer (3)



Lignende i enkeltheden er week, som viser et felt til valg af ugen.

<input type="week" />



Derudover kan man lade et månedsfelt vise.

<input type="month" />



Begge felttyper viser kontrolknapper, der gør det muligt at indstille de ønskede oplysninger.

Mens time og date kun tillader valg af enten dato eller klokkeslæt, tillader datetime og datetime-local en kombination af begge dele.

Med datetime vises et datoindtastningsfelt og et felt til valg af klokkeslæt ved siden af hinanden. (datetime understøttes i øjeblikket kun af Safari og Opera).

HTML & CSS for begyndere (del 15): Formularer (3)

Det blev allerede antydet, at de formularfelter, der præsenteres i dette afsnit, i øjeblikket ikke understøttes af alle browsere. Hvis man likevel ønsker at bruge dem, kan man ty til passende JavaScript-løsninger. De store JavaScript-rammer som jQuery og Dojo tilbyder egnede script. I jQuery UI ser det sådan ud:

<!DOCTYPE html>
<html>
<head>
  <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script>
/* <![CDATA[ */
  $(document).ready(function() {
    $("#datepicker").datepicker();
  });
/* ]]> */
  </script>
</head>
<body>
   <input type="text" id="datepicker" />
</body>
</html>

På den måde er man på den sikre side, selv hvis browseren ikke understøtter det klassiske date.

HTML & CSS for begyndere (del 15): Formularer (3)

Felter til tal

Med number tilbydes et felt, der specifikt er beregnet til indtastning af tal.

HTML & CSS for begyndere (Del 15): Formularer (3)



I den mest grundlæggende form ser definitionen af et number-felt sådan ud:

<input type="number" />



Tallene kan indtastes i sådanne felter på to måder:

• via tastaturet

• via kontrollementer

Ved at angive yderligere attributter kan number-felter beskrives endnu mere detaljeret. Først er der de to attributter min og max, hvorved værdiområderne for felterne kan bestemmes.

min - den mindst mulige værdi

max - den størst mulige værdi

Dog gælder disse to attributter kun for browserens kontrollementer. Brugernes manuelle indtastninger via tastaturet kan ikke påvirkes af disse.

Både attributter kan tildeles heltal og flydende kommatal.

Attributtet step bruges til at angive trinnet, som skal følges af browserens kontrollementer.

<input type="number" min="0" max="8" step="2" />



I dette tilfælde kunne man kun vælge værdierne 0, 2, 4, 6 og 8 via browserens kontrollementer.

Skydere

Felter af typen range tillader valg af en værdi inden for et defineret værdiområde.

HTML & CSS for begyndere (Del 15): Formularer (3)

Browsere fortolker range-felterne via en skyder.

<input type="range"  min="0" max="10" step="2" value="6">



Den mindst mulige værdi angives via attributten min. max beskriver den størst mulige værdi. Mangler attributterne min og max, antager browserne værdierne 0 og 100.

Trinnet kan defineres via step.

Opret søgefelter

search har indledningsvis ingen funktion. I stedet skal denne felttype ses som et supplement til det klassiske tekstfelt. Formålet med search-felterne er blot at adskille dem visuelt fra almindelige tekstfelter. Normalt skal browserne stå for visningen af search-felterne.

<input type="search" />



Hvordan dette endelig implementeres, er op til producenterne. En god kombination er tilføjelsen af attributten results.

<input type="search" results="5" placeholder="Søg..." />



Med results bestemmes, hvor mange af de foregående søgninger der skal vises i feltet.

Men vær opmærksom: Attributten results er ikke en del af HTML5-specifikationen.