HTMLplus, die erweiterte Nachfolgeversion von HTML, besitzt Elemente zum Programmieren von Formularen. Es können Eingabefelder und Text oder Grafik gemischt dargestellt werden. Unterstützt der Client die Formularkommandos, so wird er die Eingabefelder anzeigen und der Benutzer kann sie anklicken und ausfüllen.
Figure 5: Ein Formular der Stuttgarter WWW-Mitfahrzentrale
Es gibt verschiedene Typen von Eingabefeldern:
Die beiden letzten Formular-Elemente SUBMIT und RESET sind keine Eingabefelder, sondern bewirken im ersten Fall das Abschicken des ausgefüllten Formulars und im zweiten Fall das Rücksetzen des Formulars in den Ausgangszustand.
Zu den Feldern gibt es zusätzliche Parameter wie SIZE, welches die
Anzahl der Zeichen oder Stellenzahl einer Eingabe vorgibt, RANGE zur
Eingabe eines Ganzzahlintervalls und NAME, welches dem Eingabefeld
einen Namen zuweist. Über diesen Namen werden die Formularinhalte nach
Ausfüllen des Formulars an den Server geschickt (siehe
Seite
).
Wie bei allen HTML-Dokumenten muß auch hier beachtet werden, daß Anzeige und Layout der Formulare Sache des Clients sind und daher Formulare bei verschiedenen Clients oder auch schon bei verschiedenen Installationen verschieden aussehen können. Ein Client, der Formulare unterstützt, ist MOSAIC.
Es folgt ein Beispielcode für ein Formular. Es handelt sich um eine Umfrage über WWW-Server und -installationen. Das Formular ist ein Mail-Formular, das heißt, sein Inhalt wird bei Betätigung des SUBMIT-Schalters an eine angegebene Adresse geschickt.
<HTMLplus>
<HEAD><TITLE>Form</TITLE></HEAD>
<BODY>
<FORM ACTION='mailto:www_admin@info.cern.ch'>
<MH HIDDEN>Subject:WWW Questionaire</MH>
Please help us to improve the World Wide Web by filling in the
following questionaire:
<P>Your organization? <INPUT NAME='org' SIZE='48'>
<P>Commercial? <INPUT NAME='commerce' TYPE=checkbox>
How many users? <INPUT NAME='users' TYPE=int>
<P>Which browsers do you use?
<UL>
<LI>X Mosaic <INPUT NAME='browsers' TYPE=checkbox VALUE='xmosaic'>
<LI>Cello <INPUT NAME='browsers' TYPE=checkbox VALUE='cello'>
<LI>Others <TEXTAREA NAME='others' COLS=48 ROWS=4></TEXTAREA>
</UL>
A contact point for your site:
<INPUT NAME='contact' SIZE='42'>
<P>Many thanks on behalf of the WWW central support team.
<P> ALIGN=CENTER><INPUT TYPE=submit> <INPUT TYPE=reset>
</FORM>
</BODY>
</HTML>
Die Rückgabe des Formularinhalts erfolgt beispielsweise über die URL-Codierung. Ab dem ersten Fragezeichen in folgender Zeile sind die Formularelemente eingetragen. Diese stehen einem auswertenden CGI-Programm dann per QUERY_STRING zur Verfügung. Dies kann unter obigem Beispiel so aussehen:
http://info.cern.ch/CGI-BIN/questionaire?org=Universität+
des+Saarlandes?commerce=no?users=5000?browsers=xmosaic?others=
viola?name=Lothar+Fritsch
Details sowie alle Parameter und die aktuelle Spezifikation der Formulare sind in [11] zu finden.