Tabell 2. Taggattribut
Attribut
Betydelse/beskrivning
Inaktiverad
Om attributet finns finns en grupp relaterade formulärelement inuti behållaren , inaktiverad för ifyllning och redigering. Används för att begränsa åtkomst till vissa formulärfält som innehåller tidigare inmatade data. Attributet används utan att ange ett värde - .
form
namn
Definierar namn , som kommer att användas för att länka till element i JavaScript, eller för att länka till formulärdata efter att formuläret har fyllts i och skickats. Det är analogt med id-attributet.
3. Skapa formulärfält
Element skapar de flesta formulärfält. Ett elements attribut skiljer sig beroende på vilken typ av fält elementet används för att skapa.
Med hjälp av CSS-stilar kan du ändra teckenstorlek, typsnitt, färg och andra textegenskaper, samt lägga till kanter, bakgrundsfärg och bakgrundsbild . Fältbredden är inställd bredd egendom .
Tabell 3. Taggattribut
Attribut
Betydelse/beskrivning
acceptera
Bestämmer vilken typ av fil som får skickas till servern. Anges endast för . Möjliga värden: file_extension - tillåter nedladdning av filer från specificerad förlängning , till exempel, accept=".gif" , accept=".pdf" , accept=".doc" audio/* - tillåter nedladdning av ljudfiler video/* - tillåter nedladdning av videofiler image/* - tillåter att ladda bilder media_type - anger mediatypen för de nedladdade filerna.
alt
Definierar alternativ text för bilder, anges endast för .
autoslutförande
Ansvarig för att komma ihåg värdena som skrivits in i textfältet och automatiskt ersätta dem nästa gång du anger: på - betyder att fältet inte är skyddat och dess värde kan lagras och hämtas, av - inaktiverar autofyll för formulärfält.
autofokus
Låter dig se till att i den laddade formen ett eller annat inmatningsfält redan har fokus (har valts), och är redo att ange ett värde.
kontrollerade
Attributet kontrollerar om standardkryssrutan är markerad vid sidladdning för fält som type="checkbox" och type="radio" .
Inaktiverad
form
Attributvärdet måste vara lika med elementets id-attribut
bildning
Anger webbadressen till filen som kommer att bearbeta data som anges i fälten när formuläret skickas. Ange endast för fälten type="submit" och type="image" . Attributet åsidosätter värdet på handlingsattributet för själva formuläret.
formenctyp
Bestämmer hur formulärfältsdata ska kodas när de skickas till servern. Åsidosätter värdet för formulärets enctype-attribut. Ange endast för fälten type="submit" och type="image" . Alternativ: application/-x-www-form-urlencoded är standardvärdet. Alla tecken kodas innan de skickas (mellanslag ersätts med tecknet +, specialtecken konverteras till ASCII HEX-värden) multipart/form-data - tecken är inte kodade text/vanligt - mellanslag ersätts med symbolen + och specialtecken kodas inte.
formmetod
Attributet anger den metod som webbläsaren kommer att använda för att skicka formulärdata till servern. Ange endast för fälten type="submit" och type="image" . Åsidosätter värdet på formulärets metodattribut. Alternativ: get är standardvärdet. Data från formuläret (namn/värdepar) läggs till i webbadressen och skickas till servern: URL?name=value&name=value post - formulärdata skickas som en http-förfrågan.
formnovalidate
Anger att formulärfältsdata inte ska valideras när formuläret skickas. Åsidosätter värdet på formulärets novalidate-attribut. Kan användas utan att ange ett attributvärde.
formatmål
Bestämmer var svaret som tas emot efter att formuläret har skickats ska visas. Ange endast för fälten type="submit" och type="image" . Åsidosätter värdet på formulärets målattribut. _parent – laddar svaret i den överordnade ramen _top – laddar svaret i helskärm ramnamn – laddar svaret till en ram med det angivna namnet.
höjd
Attributvärdet innehåller antalet pixlar utan att ange en måttenhet. Anger höjden på ett formulärfält av typen type="image" , till exempel, . Det rekommenderas att ställa in både höjd och bredd på fältet samtidigt.
lista
Är en referens till ett element , innehåller dess id Låter dig ge användaren flera alternativ att välja mellan när han börjar ange ett värde i motsvarande fält.
max
Låter dig begränsa tillåten inmatning av numeriska data till ett maximalt värde attributvärdet kan innehålla ett heltal eller bråktal. Det rekommenderas att använda detta attribut tillsammans med min-attributet. Fungerar med följande fälttyper: nummer, intervall, datum, datetime, datetime-local, month, time and week.
Maxlängd
Attributet anger det maximala antalet tecken som anges i fältet. Standardvärdet är 524288 tecken.
min
Låter dig begränsa den tillåtna numeriska inmatningen till ett lägsta värde.
flera olika
Tillåter användaren att ange flera attributvärden, åtskilda av ett kommatecken. Gäller filer och e-postadresser. Anges utan attributvärde.
namn
Anger namnet som kommer att användas för att komma åt elementet
mönster
Låter dig bestämma hur du använder vanligt uttryck syntaxen för de data som måste tillåtas anges i ett visst fält. Till exempel, pattern="(3)-(3)" — hakparentes ställ in intervallet för giltiga tecken, in I detta fall - vilken som helst små bokstäver , siffran inom hängslen anger att du behöver tre gemener, följt av ett bindestreck, sedan tre siffror från 0 till 9.
Platshållare
Innehåller texten som visas i inmatningsfältet innan den fylls i (oftast är detta ett verktygstips).
skrivskyddad
Tillåter inte användaren att ändra värdena för formulärelement att välja och kopiera text är fortfarande tillgänglig. Anges utan attributvärde.
nödvändig
Visar ett meddelande som indikerar att detta fält är obligatoriskt. Om användaren försöker skicka in formuläret utan att ange önskat värde i detta fält, kommer ett varningsmeddelande att visas på skärmen. Anges utan attributvärde.
storlek
Ställer in fältets synliga bredd i tecken. Standardvärdet är 20. Fungerar med följande fälttyper: text, sök, tel, url, e-post och lösenord.
src
Anger webbadressen till bilden som används som formulärsändningsknapp. Anges endast för fältet .
steg
Används för element som kräver inmatning av numeriska värden, indikerar hur mycket värdena ökas eller minskas under intervalljusteringsprocessen (steg).
typ
knapp – skapar en knapp.
kryssruta - förvandlar ett inmatningsfält till en kryssruta som kan markeras eller avmarkeras, t.ex. Jag har en bil
färg - Genererar färgpaletter i webbläsare som stöder, så att användare kan välja färgvärden i hexadecimalt format.
datum — låter dig ange ett datum i formatet dd.mm.åååå. Födelsedag:
datetime-local - låter dig ange ett datum och en tid separerade med versaler engelskt brev T enligt mönstret dd.mm.åååå hh:mm. Födelsedag - dag och tid:
e-post – Webbläsare som stöder detta attribut förväntar sig att användaren anger data som matchar syntaxen för e-postadresser. E-post:
fil - låter dig ladda ner filer från användarens dator. Välj FIL:
dold - Döljer kontrollen, som inte visas av webbläsaren och förhindrar användaren från att ändra standardvärdena.
bild - skapar en knapp, så att du kan infoga en bild istället för text på knappen.
månad - Låter användaren ange år och månadsnummer med mönstret åååå-mm.
nummer - avsett för att ange heltalsvärden. Dess min , max och step attribut anger de övre, nedre gränserna respektive steget mellan värdena. Dessa attribut antas för alla element som har numeriska indikatorer. Deras standardvärden beror på elementtypen. Vänligen ange kvantitet (från 1 till 5):
lösenord - skapar textfält i formuläret, medan tecknen som användaren anger ersätts med asterisker, punkter eller andra ikoner som installeras av webbläsaren. Skriv in lösenord:
radio - skapar en switch - en kontroll i form av en liten cirkel som kan slås på eller av. Vegetarian:
range - låter dig skapa ett gränssnittselement som en skjutreglage, min / max - låter dig ställa in urvalsintervallet
återställ - skapar en knapp som rensar formulärfält från användarinmatade data.
sök - betecknar ett sökfält, som standard är inmatningsfältet rektangulärt till formen. Sök:
skicka - skapar standardknapp , aktiveras med musklick. Knappen samlar information från formuläret och skickar in den för behandling.
text - Skapar textfält på ett formulär och matar ut ett textfält på en rad för textinmatning.
tid - låter dig ange tid i 24-timmarsformat med hjälp av hh:mm-mönstret. I stödjande webbläsare visas det som en numerisk inmatningsfältskontroll med ett musredigerbart värde och tillåter endast att tidsvärden anges. Ange tid:
url – fältet är avsett för att ange webbadresser. Hemsida:
vecka - Motsvarande pekverktyg låter användaren välja en vecka på året, varefter den kommer att tillhandahålla datainmatning i formatet nn-åååå. Beroende på år kan antalet veckor vara 52 eller 53. Ange vecka:
värde
Bestämmer texten som visas på en knapp, i ett fält eller i associerad text. Ej specificerat för fält av typen fil.
bredd
Attributvärdet innehåller antalet pixlar. Låter dig ställa in bredden på formulärfälten.
4. Textinmatningsfält
Element används istället för element när du behöver skapa stora textfält. Text visas som ursprungligt värde , placeras inuti taggen. Fältdimensionerna ställs in med hjälp av attributen cols - horisontella dimensioner, rader - vertikala dimensioner. Fältets höjd kan ställas in med hjälp av egenskapen height. Alla storlekar beräknas baserat på storleken på ett tecken i ett teckensnitt med monospace.
5. Dropdown-lista
Listor låter dig ordna Ett stort antal pekar kompakt. Dropdown-listor skapas med hjälp av elementet ... . De låter dig välja ett eller flera värden från den föreslagna uppsättningen. Som standard visar en listruta sitt första element.
Element används för att lägga till objekt i listan ... , som finns inuti .
För att systematisera listor, använd elementet ... , som skapar rubriker i listor.
För listor kan du ändra teckenstorlek, typsnitt, färg och andra textegenskaper, samt lägga till kanter, bakgrundsfärg och bakgrundsbild.
Tabell 5. Taggattribut
Attribut
Betydelse/beskrivning
autofokus
Ställer in automatisk fokus på ett element när sidan läses in.
Inaktiverad
Inaktiverar rullgardinsmenyn.
form
Definierar formen som den tillhör denna lista . Attributvärdet är formuläridentifieraren.
flera olika
Låter dig välja ett eller flera objekt för att göra detta, när du väljer måste du trycka och hålla ned Ctrl-tangenten .
namn
Definierar ett namn för rullgardinsmenyn. Attributvärdet innehåller ett namn som återspeglar ämnet i listan.
nödvändig
Visar ett meddelande som anger att användaren måste välja ett värde från rullgardinsmenyn innan formuläret skickas.
storlek
Ställer in antalet listobjekt som är synliga på skärmen samtidigt. Om antalet listobjekt överstiger det inställda antalet visas en rullningslist. Attributvärdet anges som ett positivt heltal.
6. Etiketter för formulärfält
Etiketter för formulärelement skapas med hjälp av elementet ... . Det finns två sätt att gruppera etiketter och fält. Om fältet är inuti ett element , då behöver inte for-attributet anges.
När flög du senast på ett flygplan?
Katt
7. Knappar
Element ... skapar klickbara knappar. Till skillnad från skapade knappar ( , , , ), inuti elementet du kan placera innehåll - text eller bild.
För att visa elementet korrekt olika webbläsare du måste ange typattributet, t.ex. .
Med knappar kan användare skicka data till ett formulär, rensa formulärinnehåll eller vidta någon annan åtgärd. Du kan skapa ramar, ändra bakgrunden och justera text på en knapp.
Tabell 9. Taggattribut
Attribut
Betydelse/beskrivning
autofokus
Ställer in fokus på knappen när sidan laddas.
Inaktiverad
Inaktiverar knappen, vilket gör den oklickbar.
form
Indikerar ett eller flera formulär som denna knapp tillhör. Attributvärdet är identifieraren för motsvarande formulär.
bildning
Attributvärdet innehåller URL:en till formulärdatahanteraren som skickas när knappen klickas. Endast för knapptyp type="submit" . Åsidosätter värdet för åtgärdsattributet som anges för elementet .
formenctyp
Ställer in kodningstypen för formulärdata innan de skickas till servern när knappar som type="submit" klickas. Åsidosätter värdet för enctype-attributet som anges för elementet . Möjliga värden: application/x-www-form-urlencoded är standardvärdet. Alla tecken kommer att kodas innan de skickas. multipart/form-data - tecken är inte kodade. Används när filer laddas upp med ett formulär. text/vanlig - tecken kodas inte, och mellanslag ersätts med symbolen +.
formmetod
Attributet anger vilken metod webbläsaren kommer att använda för att skicka formuläret. Åsidosätter värdet för metodattributet som anges för elementet . Anges endast för knappar av typen "submit". Möjliga värden: get - data från formuläret (namn/värdepar) läggs till url:n och skickas till servern. Den här metoden har begränsningar för storleken på de data som skickas och är inte lämplig för att skicka lösenord och konfidentiell information. post - data från formuläret läggs till som en http-förfrågan. Metoden är mer pålitlig och säker än get och har inga storleksbegränsningar.
formnovalidate
Attributet anger att formulärdata inte ska valideras vid inlämning. Anges endast för knappar av typen "submit".
formatmål
Attributet anger i vilket fönster resultatet ska visas efter att formuläret har skickats in. Anges endast för knappar av typen "submit". Åsidosätter värdet för målattributet som anges för elementet . _blank - laddar svaret till ett nytt fönster/flik _self - laddar svaret i samma fönster (standard) _parent - laddar svaret i den överordnade ramen _top - laddar svaret i helskärm ramnamn - laddar svaret till en ram med det angivna namnet.
namn
Ställer in namnet på knappen, attributvärdet är text. Används för att länka till formulärdata efter att formuläret har skickats in, eller för att länka till den här knappen (knappar) i JavaScript.
typ
Definierar knapptypen. Möjliga värden: knapp - klickbar knapp återställ — återställningsknapp, returnerar det ursprungliga värdet skicka - knapp för att skicka formulärdata.
värde
Ställer in standardvärdet som skickas när knappen klickas.
8. Kryssrutor och alternativknappar i formulär
Kryssrutor i formulär ställs in med hjälp av konstruktionen , och omkopplaren - använder .
Kryssrutor, till skillnad från alternativknappar, kan ställas in på flera i en form. Om det markerade attributet är specificerat för kryssrutor kommer kryssrutorna i motsvarande formulärfält redan att vara markerade när sidan läses in.
Element används när du implementerar urval med alternativknappar och kryssrutor. Du kan välja det objekt du vill ha genom att helt enkelt klicka på texten som är kopplad till den. För att göra detta måste du placera inuti elementet .
När webbläsare började stödja JavaScript fick det snabbt två huvudanvändningar: hovringseffekter och förbättringar för webbformulär. Sedan dök en pseudoklass upp i CSS :sväva och behovet av manus för många förstaplanssituationer har försvunnit.
Den här historien upprepar sig hela tiden. När ett visst mönster eller uppdrag blir tillräckligt populärt är det nästan säkert att det så småningom kommer att förenklas till tekniskt och görs mer tillgängliga. Så här introducerade CSS3 många funktioner för att skapa enkla animationer som tidigare krävde JavaScript.
På tal om formulär är CSS-alternativen ganska begränsade. Och nu kommer HTML5 tillbaka till scenen. Enligt samma princip introduceras nya funktioner som egentligen inte alls är nya, men som görs enklare och bekvämare.
Som du kanske gissar var de tidigare en del av en separat WHATWG-specifikation kallad Web Forms 2.0.
Platshållartext Det finns en vanlig mall för att utforma sökformulär: Om fältet är tomt, infoga platshållartext där.
När fältet är i fokus, ta bort stubben.
Om användaren lämnade fältet tomt och tog bort fokus, returnera det.
I det här fallet sticker pluggen oftast ut lite mer ljus färg än den text som skrivs in i fältet, vilket uppnås när CSS hjälp , JavaScript eller en kombination av båda. I HTML5 görs allt detta med en enkel parameter Platshållare :
Dina hobbies
Så här kommer det att se ut i webbläsaren. Uggla sträcker sig - Standardtext ges som exempel.
Det fungerar utmärkt i webbläsare som stöder detta attribut, men det finns inte många av dem ännu. Det är upp till dig att bestämma vad du ska göra med resten. I princip behöver du inte anstränga dig och inte göra någonting alls - denna funktion trots allt, även om det är bekvämt och trevligt, är det inte avgörande. Men som ett alternativ kan du utveckla ett JavaScript-alternativ; i det här fallet måste du först se till att webbläsaren verkligen inte stöder Platshållare .Här är ett exempel på en enkel funktion som söker efter stöd för en specifik parameter:
Funktion elementSupportsAttribute(element,attribut) ( var test = document.createElement(element); if (attribut i test) ( return true; ) else ( return false; ) ) Den skapar ett "fantom"-element i minnet - inte på själva sidan - och ser sedan om det elementets prototyp har en egenskap med samma namn som parametern du letar efter. Funktionen återkommer antingen Sann , eller falsk .
Med dess hjälp kan du halka alternativ kod endast för de webbläsare som inte stöder den här möjligheten HTML5:
If (!elementSupportsAttribute("input","platshållare")) ( // Platshållare för JavaScript hjälp beskrivs här. )
Autofokus "Hej, jag är autofokusfunktionen. Jag är bekant för dig från sådana roller som Google: Jag har tur Och Twitter: Vad händer? » Detta mönster är väldigt enkelt och relativt enkelt att implementera i JavaScript. Dess kärna är att när sidan laddas måste du automatiskt sätta fokus på ett specifikt fält.
HTML5 låter dig använda en boolesk parameter för detta autofokus :
Vad händer?
Det enda problemet är att den här funktionen kan vara otroligt irriterande. Mycket ofta, när jag bläddrar igenom sidor på Internet, använder jag mellanslagstangenten för att snabbt bläddra igenom innehållet. På sajter som Twitter med denna autofokus kommer jag ofta på mig själv med att fylla fältet med mellanslag istället för att rulla.
Logiken för varför denna parameter ingår i specifikationen är ganska tydlig, men den är inte idealisk när det gäller användbarhet. Därför råder jag dig att använda det försiktigt och endast i fall av tydlig nytta och med minimal sannolikhet för olägenheter.
En fördel med att flytta rollen för denna funktionalitet från skript till markering är att användare i teorin kommer att kunna inaktivera den i sina webbläsarinställningar. Det är dock inte en enda webbläsare som tillåter detta än, men det kommer mer. Hur som helst, nu kan det bara inaktiveras tillsammans med JavaScript i allmänhet - inte det mesta Det bästa beslutet ; det är som att sticka ut ögonen för att undvika för mycket ljus.
Samma som med parametern Platshållare Du kan söka efter stöd för autofokus i din webbläsare och vid behov lägga till alternativ JavaScript-kod:
If (!elementSupportsAttribute("input","autofokus"))( document.getElementById("status").focus(); ) Parameter autofokus kan appliceras inte bara på element inmatning , men till andra fälttyper, till exempel textområde eller Välj . Och naturligtvis bara en gång per sida.
Nödvändig JavaScript används ofta för att validera ett formulär på klientsidan. Återigen, en del av denna uppgift har nu flyttats till HTML5. Nu kan du ange att ett visst fält måste fyllas i med en boolesk parameter nödvändig . ditt lösenord
Teoretiskt sett bör förekomsten av ett tomt fält med denna parameter i sig hindra användaren från att skicka data för bearbetning. Men även om webbläsare inte gör detta ännu, kan det fortfarande integreras för bekant JavaScript-formulärbearbetning. Det är bara det nu istället för att välja element efter, låt oss säga class="required" , kan du söka efter dem med specifik parameter nödvändig .
Autofyll Moderna webbläsare visar inte bara webbsidor utan försöker också förbättra användbarheten, säkerheten och användarvänligheten. Autofyll-funktionen för formulär är ett exempel på detta tillvägagångssätt. Oftast är det ganska användbart, men ibland kan det vara lite irriterande eller till och med en potentiell säkerhetsrisk. Jag har inget emot att webbläsaren kommer ihåg min kontaktinformation, men jag vill inte att den lagrar mitt bankkontoinloggning och lösenord ifall min dator skulle bli stulen. HTML5 låter dig inaktivera autoslutförande för både ett enskilt fält och ett helt formulär. Parameter autoslutförande - inte ett booleskt värde, även om det bara tar två värden: på Och av .
Som standard är den inställd på på , vilket gör det möjligt för webbläsare att använda autoslutförande utan begränsningar.Som redan nämnts kan den också läggas till i selektiva fält:
I det här fallet finns det inget JavaScript-alternativ, så denna funktion är inte en förenkling befintliga modeller , men saken är ny, arbetar direkt med webbläsarfunktioner.
Det kan tyckas konstigt att det ingick i HTML5, med tanke på att det inte är särskilt vanligt. Men det är ganska motiverat, med hänsyn till säkerhetsrisken som kan döljas bakom autofyll; så nu kan du stänga av den om det behövs.
Datalista Nytt element datalista låter dig gå över standard inmatning med element Välj . Genom att lägga till en parameter lista , kan du sedan skapa en lista med fördefinierade val: Din hemplanet
Detta tillåter användare att välja ett alternativ från en lista eller lägga till sitt eget om det inte finns där. Mycket användbart för situationer som vanligtvis kräver ett extra fält "Annat, vänligen specificera nedan".
Bekväm hybrid.
Om webbläsaren inte stöder datalista , kommer ett sådant fält att fungera som ett vanligt inmatning .Nya ingångar Parameter typ element inmatning har utökats kraftigt i HTML5. Det finns så många vältrampade stigar som behöver asfalteras – precis som att bygga ett nätverk av motorvägar på en svampplats. Sök Element inmatning med mening Sök V typ fungerar exakt samma som den med värdet text . Sök
Den enda skillnaden är för Sök Det förväntas att webbläsaren kommer att visa fältet något annorlunda, i enlighet med den allmänna stilen för design av sökfält i operativsystemet.
Det är till exempel vad Safari gör.
Kontaktuppgifter Det finns tre nya parametervärden typ för olika typer av kontaktinformation: e-postadresser, hemsidor och telefonnummer. E-post
Hemsida
Telefon
Återigen kommer de att bete sig på samma sätt som vanliga inmatningar, med skillnaden att nu webbläsare har lite mer information om den data som behöver matas in där, vilket kan vara användbart.
Safari hävdar stöd för dessa nya fälttyper, men vid första anblicken ser de inte annorlunda ut än de i Safari. type="text" . Men om du provar dem i Mobile Safari - den på mobilen Apple-enheter , - skillnaden kommer att bli märkbar. Se skärmtangentbord kommer att vara olika för olika områden:
Nya typer av import i Mobile Safari.
Det är en liten sak, men trevlig. Reglage (de där "sliders") Många JavaScript-bibliotek har inbyggda olika sorter widgets som kan användas i webbapplikationer. De fungerar ganska bra; om JavaScript är aktiverat, naturligtvis. Men det skulle vara bra om användare inte behövde ladda ner en skriptfil varje gång vi vill lägga till några speciella kontroller i vårt formulär. Ett klassiskt exempel är reglaget. Fram till nu var det omöjligt att skapa det utan hjälp av JavaScript. Nu, med HTML5, finns den som en inbyggd webbläsare inmatning Med type="range" .
Hur många vill du ha?
Så här ser det ut inmatning typ räckvidd i Safari och Opera.
Som standard är intervallet för detta fält från noll till hundra. Minimum och maximalt värde kan ställas in med hjälp av parametrar min Och max respektive. ditt märke
Allt detta fungerar bra i Safari och Opera - andra webbläsare visar helt enkelt ett textfält. Detta är inte så illa, och vi vet att om så önskas kan du alltid lägga till en alternativ implementering av denna kontroll för dem genom JavaScript, med hjälp av testfunktionen som jag redan har gett ovan.
Naturligtvis kommer skriptlösningar att ta längre tid att ladda och kommer att vara mindre tillgängliga för ytterligare bearbetning på andra sätt än inbyggda DOM-element. Men av okänd anledning, samma sak räckvidd i Safari för tillfället kan du inte bli vän med tangentbordet... Jag hoppas att de fixar det snart.
Disken Fält med typ räckvidd visas inte exakt värde , vald av användaren, men representerar endast visuellt det relativa numret på skjutreglaget. Detta är lämpligt för vissa fall, men i andra är precision viktigt - förmågan att ange ett specifikt värde. För detta finns typ="nummer" . Hur många vill du ha?
Webbläsare lägger till plus-minus-knappar till ett sådant fält, vilket gör det till en sorts hybrid mellan typer text Och räckvidd .
datum och tid En av de mest populära JavaScript-widgetarna är en popup-kalender som låter dig välja önskat datum. Som på de flesta sajter för att boka flygbiljetter till exempel. Du kan ersätta det faktum att på olika webbplatser är dessa kalendrar implementerade lite olika, så det skulle vara trevligt att ha en gemensam lösning för webbläsaren som kommer att eliminera denna inkonsekvens och behovet av att studera nyanserna i ett annat gränssnitt i varje enskilt fall.
Det finns en hel handfull olika datum- och tidsfältstyper tillgängliga i HTML5:
datum - för år, månad och dag. datum Tid - år, månad, dag, plus timmar, minuter, sekunder och tidszon. datetime-lokal - samma sak, men utan att ange tidszon. tid - timmar, minuter, sekunder. månad - år och månad (utan datum).
Alla dessa typer kommer att spela in en lång tid in ISO-format ÅÅÅÅ-MM-DDThh:mm:ss.Z, där Y är året, M är månaden, D är dagen, h är timmen, m är minuten, s är den andra och Z är tidszonen. Som ett exempel, datum och tid för slutet av första världskriget, 11 timmar 11 minuter på morgonen, 11 november 1918:
datum : 1918-11-11datum Tid : 1918-11-11T11:11:00+01 datetime-lokal : 1918-11-11T11:11:00 tid : 11:11:00månad : 1918-11
Nej bara typ år , men det är vecka - ett tal från 1 till 53 kombinerat med årtal.
Att använda allt detta är ganska enkelt:
Start datum
Opera klarar av implementeringen av dessa nya fälts kapacitet, men de ser inte särskilt attraktiva ut i det...
Som vanligt kommer webbläsare som inte stöder denna teknik att visa ett enkelt textfält. I det här fallet kan du antingen ange i instruktionerna för användarna i vilket format de ska ange datumet, eller infoga en widget för en skriptad kalender. Återigen, se till att kontrollera dess inbyggda stöd först: If (!inputSupportsType("datum")) ( // Kod för widgeten för kalendern.) Även den mest vackert skrivna JavaScript-kalendern av detta slag skulle kräva ganska mycket kod för att generera en tabell över dagar och hantera händelser som de själva väljer. Inbyggt stöd för den här funktionen bör vara snabbare och mer tillförlitligt, för att inte tala om att eliminera designinkonsekvenser.
Pipett En av de djärvaste widgetersättningarna som introducerats i HTML5 är kanske fälttypen Färg . Den accepterar värden som färgkoder i hexadecimal: #000000 för svart, #FFFFFF för vit, och så vidare. Bakgrundsfärg
Tanken är att äntligen lägga till inbyggda pipett i webbläsare, som de som finns i nästan alla andra program på din dator. Det stöds inte av någon webbläsare ännu, men om det kommer till kritan skulle det vara ganska coolt.
Så i det här fallet bör du använda JavaScript-lösningar för nu, men glöm inte att fortfarande kontrollera det inbyggda stödet för att inte missa ögonblicket när det är dags.
Gör det själv Alla dessa nya inmatningstyper har två syften: de tillåter webbläsare att ha specialdesignade eller anpassade fält för vissa typer av data, och att veta hur man kontrollerar giltigheten av dessa data. HTML5-innovationerna som beskrivs täcker de flesta vanliga situationer, men någon gång kan du behöva skapa ett validerat inmatningsfält som följer dess egna specifika principer. Den goda nyheten är att detta kan uppnås med hjälp av parametern mönster , där du kan ange vilken typ av data du efterfrågar. De dåliga nyheterna är att du måste använda vanliga uttryck .
Postnummer USA
För det mesta parametern mönster det är osannolikt att du behöver det. Om du bestämmer dig för att använda den, sympatiserar jag med dig.
En blick in i framtiden Införandet av nya typer av webbformulär ger HTML5 en betydande push framåt. De flyttar mycket av den börda som vanligtvis ligger på JavaScript på HTML5. För tillfället är vi fortfarande i ett övergångsskede - inte alla innovationer stöds av webbläsare, och vi kan inte bli av med JavaScript helt här ännu. Men en ljus framtid är helt klart precis runt hörnet, vi ser dess första strålar och kan sola oss i dem. Validering av formulär på klientsidan kommer nu att bli mycket lättare - även om du naturligtvis fortfarande inte kan lita på det helt och hållet; Du får inte glömma att kontrollera data på serversidan också. Plus, för många fortfarande "icke-standardiserade" datainmatningsmetoder kommer det nu att finnas "native" lösningar som inte kräver att användare laddar ner ytterligare skriptbibliotek.
Jag är säker på att du ser alla fördelarna med kalendrar och reglage inbyggda i webbläsare, men jag ser också en logisk fråga i dina ögon: "Kan CSS-stilar tillämpas på dem?"
Tyvärr är svaret för tillfället förmodligen "nej". CSS-arbetsgruppen arbetar med detta.
Detta kan avskräcka dig från att använda dem alls. Om specifika implementeringar av nya funktioner i webbläsare inte ser attraktiva ut för dig kan du fortsätta att använda skriptwidgets istället.
Men jag vill att du ställer dig själv frågan "A behöver Ska jag tillämpa mina egna stilar på dem?” När allt kommer omkring gillar många av oss inte när blivande utvecklare eller designers tvångsmässigt tvingar oss att ge upp våra vanor och utforska gränssnitten de uppfann, som enligt deras åsikt är bättre än vanliga (vilket inte alltid är en faktum). Varför uppmuntra denna onda praxis att vilseleda användare?
Personligen skulle jag vilja se webbläsarens konkurrens om de mest användarvänliga och vackra HTML5 webbformulärlösningarna. Det här är den typ av webbläsarkrig jag skulle älska att stödja.
Okej, vi är klara med formulären. I nästa del kommer vi att ta itu med den spännande nya semantiken i HTML5.