HTML Referensbok
HTML © Eva von Pepel
* [ HTML-referensbok ] * [ Referensböcker ] *
Inledning, FORM, INPUT, TEXTAREA, SELECT, OPTION, OPTGROUP, LABEL, BUTTON, FIELDSET, LEGEND
Markeras: <FORM></FORM> - båda obligatoriska
Får innehålla:HTML 4.0 - SCRIPT och blockelement exklusive FORM
HTML 4.0 Transitional - blockelement exklusive FORM, inlineelement
Får finnas i: APPLET (T), BLOCKQUOTE, BODY, CENTER (T), DD, DEL, DIV, FIELDSET, IFRAME (T), INS, LI, MAP, NOFRAMES (F), NOSCRIPT, OBJECT, TD, TH
Ett formulär är innehållet i elementet FORM. Elementet specificerar:
Alla formulär är uppbyggda på samma sätt. De börjar med <FORM>, slutar med </FORM> och innehåller element med vilka fält, knappar och etiketter till dessa skapas - så kallade controls, dvs element INPUT, TEXTAREA, SELECT, BUTTON, LABEL. Genom att namnge dessa controls (attributet NAME) interagerar användaren med formuläret. Observera att controls även kan förekomma utanför formuläret. I sådana fall används de för att öka det grafiska användargränsnittet, t ex när knappen (BUTTON) används tillsammans med något attribut som beskrivs i %events för att uppnå en viss kommunikation med servern och inte för skicka formuläret.
För att koppla formuläret till skriptet uppger du sökvägen till det, dvs du anropar skriptet. Om du använder ett eget skript skriver du sökvägen till det. Om du använder det skript som leverantören gjorde tillgängligt för sina kunder skriver du sökvägen till detta. På leverantörens hemsida kan du hitta information hur anropet ska ske. Om du är kund hos Algonet och använder det skript som finns på servern skriver du:
<FORM METHOD=POST
ACTION="http://cgi.algonet.se/htbin/formmail_1.5.pl">
.....
</FORM>
Algonet använder version 1.5 av Matt Wrights skript. Om man uppdaterar till version 1.6 kommer du förmodligen att skriva:
<FORM METHOD=POST ACTION="http://cgi.algonet.se/htbin/formmail_1.6.pl">
Om du har ditt eget skript som ligger i ditt eget cgi-bin-bibliotek, t ex ovan nämnda FormMail.pl, är kund hos Algonet och har användarnamnet eva, skriver du:
<FORM METHOD=POST ACTION="http://cgi.algonet.se/htbin/cgiwrap?user=eva& script=FormMail.pl">
Det får inte finnas några mellanslag i uppropet. & står egentligen för tecknet &. Men eftersom detta tecknet är reserverat för teckenreferenser (se Tecken i HTML) är det förbjudet och därför ersätts det med dess "tillåtna motsvarighet" dvs. entity &.
Har du ett annat användarnam än eva skriver du detta namn. Använder du ett annat skript, skriver du det namnet istället för FormMail.pl.
<FORM METHOD=POST ACTION="http://cgi.algonet.se/htbin/cgiwrap?
user=dittnamn&script=dittskript.pl"> OBS! inga mellanslag i anropet.
UNIX skiljer på små och stora bokstäver och därför måste du skriva det exakta namnet. FormMail.pl och formmail.pl är inte samma fil.
Formuläret är inte färdigt att använda än. Du måste också uppge den epost-adress där datan ska skickas. Det gör du med hjälp av elementet INPUT som kan förekomma på ett valfritt ställe i formuläret. Normalt gömmer man denna information då den inte tillhör den ifyllningsbara delen. Om formuläret ska till exempel skickas till eva@algonet.se, skriver du:
<FORM METHOD=POST ACTION="/cgi-bin/formmail.pl">
<INPUT TYPE=hidden NAME=recipient VALUE="eva@algonet.se">
...
</FORM>
För att ett formulär ska fungera behövs alltså hänvisning till ett skript samt den epostadress där det ska skickas. Till exempel:
Formuläruppkoppling
<FORM METHOD=POST ACTION="/cgi-bin/formmail.pl">
<INPUT TYPE=hidden NAME=recipient VALUE="eva@algonet.se">
. . . . .
</FORM>
Formulär kan även fungera utan skript. Men alla www-klienter ger som sagt inte stöd åt sådana formulär. När du klickar på "skicka"-knappen i till exempel Internet Explorer 3.0 skickar inte klienten formuläret till adressaten utan försöker öppna Exchange eller Outlook istället. Om du, av en eller annan anledning, inte har tillgång till skriptet men ändå vill skapa ett formulär skriver du följande i starttaggen:
<FORM ENCTYPE="text/plain" METHOD=POST ACTION="mailto:användarnamn@servernamn.se">
....
</FORM>
Här hänvisar du till den epost-adress där formuläret ska skickas. Om din epostadress är eva@algonet.se skriver du:
<FORM ENCTYPE="text/plain" METHOD=POST ACTION="mailto:eva@algonet.se">
Sådana formulär eller rättare sagt svarskort som kommer till brevlådan kan vara smått kryptiska. För att förbättra läsbarheten skriver du även i starttaggen ENCTYPE="text/plain. Om formuläret fortfarande är oläsligt kan du skaffa dig en s.k. mailto:formatterare som du laddar ner från nätet från ett av följande ställen:
Formuläret är nu färdigt att använda.
| HTML 4.0 | HTML 4.0 Transitional | HTML 3.2 |
|---|---|---|
%attrs; ACTION=URI (O) METHOD=get|post ENCTYPE=%ContentType ACCEPT-CHARSET=%Charsets onsubmit=%Script onreset=%Script |
samma som i HTML 4.0 plus TARGET= %FrameTarget |
ACTION=URI METHOD= get|post ENCTYPE= %ContentType |
Beskrivs i HTML 4.0 - Attribut
Obligatoriskt attribut. Attributet specificerar hur det aktuella formuläret ska behandlas: ska ett skript anropas eller skickas direkt till adressaten. Om ett skript ska anropas hänvisar du till skriptet och om det ska skickas direkt till adressaten, t ex till dig själv, uppger du din epostadress.
<FORM METHOD=POST ACTION="/cgi-bin/formmail.pl">
<FORM ENCTYPE="text/plain" METHOD=POST ACTION="mailto:eva@algonet.se">
Ett formulär kan används även till andra ändamål, t ex för att med hjälp av JavaScript skapa olika popup fönster eller navigeringsredskap. I sådana fall behöver du varken hänvisa till ett skript eller en epostadress. Då attributet är obligatoriskt måste du inkludera det för att kunna validera dokumentet. I sådana situationer kan du uppge adressen till det dokument formuläret befinner sig i:
ACTION="index.html"
Detta attribut specificerar den HTTP-metod som ska användas för att skicka formuläret till agenten för vidare bearbetning. HTTP står för HyperText Transfer Protocol och är ett generisk, gränslöst, objektorienterat protokoll för distribution av hypermediala informationsystem, t ex www-dokument. Det två tillåtna värdena är GET, som är ett standardvärde, och POST.
Denna metod används när data ska bifogas till adressen som attributet ACTION uppger. Den nya adressen skickas vidare till bearbetningsagenten. GET används t ex i databassökning eller sådana formulär som inte orsakar några sidoeffekter t ex inte fordrar andra tecken än de tillåtna ASCII.
Denna metod används när data ska inkluderas i själva formuläret när de skickas till bearbetningsagenten. POST tillåter modifieringen av data och används i "vanliga" formulär.
Attributet specificerar vilken Media-typ (ContentType) som används för dataavkodning för att skicka formuläret till servern under förutsättning att attributet METHOD tar värdet POST. Standardvärdet är application/x-www-form-urlencoded. Det gör att:
Värdena VALUE och NAME som har tilldelats controls paras och listas i den ordning de förekommer i dokumentet enligt schemat NAME1=VALUE1&NAME2=VALUE2...osv
Teckenavkodning sker enligt RFC 1738 (http://www.ietf.org/rfc/rfc1738.txt)
Om stora mängder av binärdata eller data innehållande tecken som ej stöds av ASCII-tabellen ska skickas använder du värdet multipart/form-data.
Om filer ska bifogas tillsammans med formuläret <INPUT TYPE=file> använder du värdet application/octet-stream.
Gå till RFC 1867 (http://www.ietf.org/rfc/rfc1867.txt) och RFC 2045 (http://www.ietf.org/rfc/rfc2045.txt) om du vill ha mer information om olika typer av media (ContentType).
Med detta attribut kan du specificera en teckenavkodningslista som server som ska bearbeta formuläret måste acceptera. Listan separeras med ett komma eller ett mellanslag.
<FORM METHOD=POST ACTION="/cgi-bin/formmail.pl"
ACCEPT-CHARSET="UTF-8">
Dessa attribut är s.k. inre händelser. Något sker efter det att formuläret har skickats eller ställts om. Vad som sker specificeras i skriptet, t ex JavaScript, som är attributets värde.
Attributet är nedskrivet och används till att specificera i vilken ram formuläret ska visas. Tillåtna värden är:
Nästa INPUT Enkelradiga fält
http://vonpepel.com/ref/ - Senaste uppdatering 10 september 1998