Die interaktiven Formulare ermöglichen es den Autoren von Webseiten ihre Seite mit interaktiven Elementen zu versehen, die es ermöglichen, einen Dialogweb mit den Cybernauten herzustellen, in der Art der Antwort-Coupons in manchen Zeitschriften
Der Leser gibt Informationen ein indem er Felder ausfüllt oder auf Schaltflächen klickt, dann drückt er auf den Abgabe-Knopf (submit) um das Formular entweder an ein URL, d.h. meist an eine E-mail Adresse oder einen Script einer dynamischen Web-Seite wie PHP, ASP oder ein CGI-Script.
Die Formulare sind durch folgendes Kennzeichen abgegrenzt <FORM> ... </FORM>, ein Kennzeiche mit dem man mehrere Elemente eines Formulars zusammenlegen (Schaltflächen, Eingabefelder,...) kann und die folgende Attribute besitzen muss :
Hier die Syntaxe des Kennzeichens FORM :
<FORM METHOD="POST" ou "GET" ACTION="url" ENCTYPE="x-www-form-urlencoded"> ... </FORM>
Hier ein paar Beispiele für Kennzeichen FORM :
<FORM METHOD=POST ACTION="mailto:webmaster@kioskea.net"> <FORM METHOD=GET ACTION="http://de.kioskea.net/cgi-bin/script.cgi">
Das Kennzeichen FORM ist in gewisser Weise ein Behälter in dem Elemente zusammengeführt werden können die es dem Benutzer ermöglichen Daten oder Datensätze auszuwählen oder einzugeben, die an die URL gesendet werden, die im Attribut angegeben ist ACTION des Kennzeichens FORMdurch die Methode die im Attribut angegeben ist METHOD.
Es ist möglich jedes beliebige HTML-Basiselement in ein Kennzeichen einzufügen FORM (Texte, Schaltflächen, Tabellen, Links…), aber es ist vor allem interessant interaktive Elemente einzufügen. Diese interaktiven Elemente sind :
Wenn ein Formular abgegeben ist (Drücken auf den Abgabe-Knopf), werden die Daten die sich in dem Formular befinden dem CGI-Script gesendet, und zwar in Form von Paaren Name/Wert, d.h. eines Datensatzes der durch den Namen des Formularelements vertreten wird, das Zeichen "=", gefolgt von dem assozierten Wert. Alle diese Paare Namen/Wert werden durch ein ET-Zeichen (Zeichen &) voneinander getrennt. Die gesendeten Daten sehen demnach aus wie folgt :
Feld1=Wert1&Feld2=Wert2&Feld3=Wert3Im Fall der Methode GET (Senden der Daten durch URL), URL ähnelt folgender Kette :
http://de.kioskea.net/cgi-bin/script.cgi?champ1=val1&champ2=val2
Das Kennzeichen INPUT ist das wesentliche Kennzeichen der Formulare, denn es ermöglicht, eine ganze Reihe von "interaktiven" Elementen herzustellen. Die Syntax dieses Kennzeichens ist folgende :
<INPUT type="Name des Feldes" value="standardmässiger Vorgabewert" name="Name des Elements">Das Attribut name ist ganz wesentlich, da durch ihn der Script CGI das Feld kennt, dass dem Paar Name/Wert assoziiert ist, d.h. der Name des Feldes ist gefogt von dem Zeichen "=" dann der Wert der von dem Benutzer eingegeben worden ist, bzw. der standardmässige Vorgabewert der vom Attribut erkannt wird value.
Das Kennzeichen TEXTAREA erlaubt es einen umfangreichere Eingabezone zu definieren im Vergleich einfachen Eingabezeile die das Kennzeichen bietet INPUT. Dieses Kennzeichen besitzt folgende Attribute :
Mit dem Kennzeichen SELECT kann eine Abrollliste von Elementen geschaffen werden (durch das Kennzeichen angegeben OPTION innerhalb des letztern). Die Attribute dieses Kennzeichens sind :
Das Layout der Formulare kann mit Hilfe von Tabellen gemacht werden (dies ist sogar empfehlenswert für eine gepflegtes Layout ). Hier ein Beispiel, dass genannten Punkte zusammenfasst und zeigt wie das Layout eines Formulars mit Hilfe einer Tabelle gemacht werden kann :
<FORM method=post action="cgi-bin/script.pl"> Enregistrement d'un utilisateur <TABLE BORDER=0> <TR> <TD>Nom</TD> <TD> <INPUT type=text name="nom"> </TD> </TR> <TR> <TD>Prénom</TD> <TD> <INPUT type=text name="prenom"> </TD> </TR> <TR> <TD>Sexe</TD> <TD> Homme : <INPUT type=radio name="sexe" value="M"> <br>Femme : <INPUT type=radio name="sexe" value="F"> </TD> </TR> <TR> <TD>Fonction</TD> <TD> <SELECT name="fonction"> <OPTION VALUE="enseignant">Enseignant</OPTION> <OPTION VALUE="etudiant">Etudiant</OPTION> <OPTION VALUE="ingenieur">Ingénieur</OPTION> <OPTION VALUE="retraite">Retraité</OPTION> <OPTION VALUE="autre">Autre</OPTION> </SELECT> </TD> </TR> <TR> <TD>Commentaires</TD> <TD> <TEXTAREA rows="3" name="commentaires"> Tapez ici vos commentaires</TEXTAREA> </TD> </TR> <TR> <TD COLSPAN=2> <INPUT type="submit" value="Envoyer"> </TD> </TR> </TABLE> </FORM>
Hier das Resultat dieser HTML-Codierung
| Kennzeichen | Attribut | Wert | Ergebnis | optischer Effekt |
|---|---|---|---|---|
| <FORM> ... </FORM> | METHOD | POST GET |
||
| ACTION | sendet an die angegebene Adresse | |||
| ENCTYPE | gibt den verwendeten Codierungstyp an | |||
| <INPUT> | TYPE | submit | effectue l'ACTION dans le balise <FORM> | |
| text | einfache Zeile deren Länge durch das Attribut size vorgegeben ist |
|||
| reset | löscht den Inhalt des Formulars | |||
| radio | radio-Knopf | |||
| checkbox | anzukreuzendes Feld | |||
| NAME | Name | |||
| SIZE | Umfang des Textes | |||
| <TEXTAREA> ... </TEXTAREA> | NAME | Textzone | ||
| ROWS | ||||
| COLS | ||||
<SELECT>
</SELECT> |
NAME | |||
| MULTIPLE | mehrere Auswahlen möglich | |||
| <OPTION> ... </OPTION> | SELECTED | Standardmässige Vorgabe | ||
| VALUE | erzwungene Wert |