PmWikiDe

Forms

PmWikiDe.Forms History

Hide minor edits - Show changes to output

October 02, 2017, at 11:42 AM by viagra - wuupioru
Changed lines 1-2 from:

http://vr9onlinesale.com/ ,
to:
Pero http://canadianviagrats.com/ ,  king jailed for three years Mairena del Aljarafe. 
September 19, 2016, at 03:34 PM by viagra_online - twpertyw
Changed lines 1-142 from:
(:title Formulare:)
(:Summary: Erstellung von Formularen:)
(:Original_Page: PmWiki.{$Name} :)
(:Translation_Date: 2012-07-06:)
(:Translation_Status: %green%fertig%%:)
(:Audience: Autoren (Fortgeschrittene), Entwickler und Administratoren:)

Diese Seite erklärt, wie man Eingabeformulare in Wikiseiten einbetten kann.

Eingabeformulare behandeln die Eingaben eigentlich nicht — dies Feature erlaubt einfach nur die Erzeugung von Formularen innerhalb einer Wikiseite.
Die Auswertung von Formularen findet man in den Kochbüchern (s. u.).


!! Markup

Zwei Direktiven braucht man, um ein Formular zu beginnen und zu beenden:

    [=(:input=] form "''url''" ''method'':)
    ...
    [=(:input end:)=]

Die [@(:input form:)@]-Direktive startet ein Formular, das Daten an ''url'' (optional ''action=''url) mit der Methode ''method'' (optional ''method=''method) sendet.
Wenn der Url weggelassen wird, wird die aktuelle Seite angenommen. Der Url muss in Anführungszeichen gesetzt sein, wenn er nicht über ''action='' angegeben wurde.
Ein optionaler [@Name="Formularname"@] kann angegeben werden, um das Formular zu benennen.
Man kann explizit [@action=url@] oder [@method=get@] angeben oder man benutzt sie als positionierte Parameter.

Wenn Ihre Site [@n=Gruppe.Seite@] benutzt, um den Seitennamen anzugeben, dann erlaubt ein zusätzliches Feld [@(:input hidden name=n value={$FullName}:)@] dem Formular, die Daten an die aktuelle Seite zu senden als Alternative zur Angabe des vollständigen URLs in [@action=url@].

Die [@(:input end:)@]-Direktive schließt das aktuelle Formular.

Anmerkung: Dies Feature garantiert nicht, dass die Ausgabe des Formulars korrektes HTML ist -- es nimmt an, dass der Autor ein bißchen was von der Sache versteht. [@(:input form:)@] und  [@(:input end:)@] sollten nicht innerhalb von Tabellen erscheinen und alle Formularfelder und Kontrollelemente sollten innerhalb des [@(:input form:)@] ...  [@(:input end:)@]-Blockes stehen.


[[#standardinputcontrols]]
!!Standardeingabeelemente
Die Standardeingabeelemente sind

    [=(:input=] text ''name'' ''value'' size=''n'':)
    [=(:input=] hidden ''name'' ''value'':)
    [=(:input=] password ''name'' ''value'':)
    [=(:input=] radio ''name'' ''value'':)
    [=(:input=] checkbox ''name'' ''value'':)
    [=(:input=] [[#select|select]] ''name'' ''value'' ''label'':)
    [=(:input=] [[Cookbook:InputDefault|default]] ''default-name'' ''default-value'':)
    [=(:input=] submit ''name'' ''value'':)
    [=(:input=] textarea ''name'' ''[@[=value=]@]'' rows=''n'' cols=''n'':)
    [=(:input=] reset ''name'' ''label'':)
    [=(:input=] file ''name'' ''label'':)
    [=(:input=] image ''name'' ''"src"'' ''alt'':)

wobei  ''name'' und ''value'' in der HTML-Syntax sind: name="addr" value="808 W Franklin".

Für die meisten Elemente hat die Direktive die Form:

    [=(:input=] ''type'' ''name'' ''value'' ''parameter=value'':)

wobei ''type'' der Typ des Eingabeelementes (Beschreibung unten), ''name'' der Name des Elements und ''value'' der Anfangswert ist. Parameter werden benutzt, um die zusätzlichen Attribute des Elements anzugeben. Wenn ''value'' Leerzeichen enthält, gehört es in Anführungszeichen. Wenn es Zeilenumbrüche enthält (Textarea, hidden Elements), gehört es in  [@[=...=]@]. 

Das Folgende erstellt beispielsweise ein Texteingabefeld mit eine Größe von 30 Zeichen.

(:markup class=horiz:)
(:input text authorid "Jane Doe" size=30:)
(:markupend:)

Ein Autor kann auch ganz bequem den Namen und den Wert angeben mit  [@name=@]- und [@value=@]-Attributen.

(:markup class=horiz:)
(:input text name=authorid value="Jane Doe" size=30:)
(:markupend:)

Für das Textarea-Element kann seit PmWiki 2.2.0beta45 ein Wert gesetzt werden. Schließen Sie den Wert in  [@[=...=]@] ein, wenn er Leerzeichen oder Zeilenumbrüche enthält.

Das [@submit@]-Element wird häufiger geschrieben als:

    [=(:input=] submit value=''label'':)

Hier ist ein komplexeres Beispiel, etwa für einen Loginprompt:
 

(:markup class=horiz:) [=
(:input form "http://www.example.com":)
(:input hidden action login:)
||    Name:||(:input text username:)    ||
|| Passwort:||(:input password password:)||
|| ||(:input submit value="Log In":) ||
(:input end:)
=]

[[#field_attributes]]
!! Generelle Formularfeldattribute

* [@(:input ... focus=1:)@] Setzt man @@focus=1@@, erhält das Element den anfängliche Focus, wenn das Formular das erste Mal erscheint.
* die folgenden leistungsfähigen HTML-Attribute werden unterstützt: @@name, value, id, class, rows, cols, size, maxlength, action, method, accesskey, tabindex, multiple, checked, disabled, readonly, enctype, src, alt@@. Für eine weiterführende Beschreibung, siehe ihre Entsprechungen unter [[http://www.w3.org/TR/html401/interact/forms.html|w3c reference: HTML forms]] (nicht alle von ihnen können für jedes Formularelement eingesetzt werden).


[[#select]]
!![@(:input select ... :)@]

Die Basis für eine Auswahlbox ist eine Liste von Optionen:

(:markup:) [=
(:input form:)
(:input select name=abc value=1 label=alpha :)
(:input select name=abc value=2 label=beta  :)
(:input select name=abc value=3 label=gamma :)
(:input submit:)
(:input end:)
=]

Zu den Werten kann eine Position angegeben werden.
 [=(:input select abc 1 alpha :)=]

Wir können die Größe der Auswahlbox angeben:
 [=(:input select abc 1 alpha size=3 :)=]

Wir können eine Auswahlbox für Mehrfachwahlen angeben:
 [=(:input select abc 1 alpha size=3 multiple:)=]

Damit ein Element ausgewählt erscheint, benutzt man: @@selected=selected@@:
 [=(:input select abc 2 beta selected=selected:)=]

Anmerkung: Damit zwei Auswahlboxen nebeneinander erscheinen, müssen Sie ihnen nicht nur verschiedene @@name=@@-Parameter geben, Sie müssen zwischen sie  auch noch einen Trenner setzen, d. h. ein Zeichen, ein [@ @] oder wenigstens eine Nullsequenz [@[==]@].

(:markup:)
(:input form:)
(:input select name=FIRST value=1:)(:input select name=FIRST value=2:)[==]
(:input select name=SECOND value=3:)(:input select name=SECOND value=4:)
(:input end:)
(:markupend:)


!! See Also
*[[Cookbook:Input Default]] {Cookbook.InputDefault$:Summary}
*[[Cookbook:Form Validation]] {Cookbook.FormValidation$:Summary}
*[[Cookbook:Form Extensions]] {Cookbook.FormExtensions$:Summary}
*[[Cookbook:Input Forms and JavaScript]] {Cookbook.InputFormsAndJavaScript$:Summary}

Compatible recipes:
* [[Cookbook:PmForm]] {Cookbook/PmForm$:Summary}
* [[Cookbook:Fox]] {Cookbook.Fox$:Summary}
* [[Cookbook:Wiki Forms]] {Cookbook/WikiForms$:Summary}
* [[Cookbook:ProcessForm]] {Cookbook/ProcessForm$:Summary}
to:

http://vr9onlinesale.com/ ,