NAME
Prty::Html::Form::Layout - HTML-Formular mit freiem Layout
BASE CLASS
DESCRIPTION
Die Klasse dient der Erzeugung von HTML-Formularen mit freiem Layout. D.h. der HTML-Code "um die Widgets herum" wird von der Klasse nicht vorgegeben, sondern als Objektattribut gesetzt, ebenso wie die Liste der Widgets. Die Klasse setzt die Widgets in das Layout ein.
Für jedes Widget enthält das Layout einen Platzhalter, der sich aus dem Namen des Widget herleitet, indem der Widget-Name in Großbuchstaben gewandelt und um zwei Unterstriche vorne und hinten ergänzt wird.
Beispiel:
Widget-Name Platzhalter
----------- -----------
vorname __VORNAME__
ATTRIBUTES
- form => \@keyVal (Default: undef)
-
Eigenschaften des
form
-Tag. Ist das Attribut nicht gesetzt, wird keinform
-Tag erzeugt. - layout => $html (Default: '')
-
Der HTML-Code des Layouts. In das Layout wird der HTML-Code der Widgets eingesetzt.
- widgets => \@widgets (Default: [])
-
Liste der Widgets, die in das Layout eingesetzt werden.
EXAMPLE
Der Code
Prty::Html::Form::Layout->html($h,
layout=>Prty::Html::Table::Simple->html($h,
class=>'form',
rows=>[
[['Vorname:'],['__VORNAME__']],
[['Nachname:'],['__NACHNAME__']],
[[''],['__AKTION__']],
],
),
widgets=>[
Prty::Html::Widget::TextField->new(
name=>'vorname',
value=>'Linus',
),
Prty::Html::Widget::TextField->new(
name=>'nachname',
value=>'Seitz',
),
Prty::Html::Widget::Button->new(
id=>'speichern',
name=>'aktion',
value=>'speichern',
content=>'Speichern',
),
],
);
erzeugt
<table class="form" cellspacing="0">
<tbody>
<tr>
<td>Vorname:</td>
<td><input type="text" name="vorname" value="Linus" /></td>
</tr>
<tr>
<td>Nachname:</td>
<td><input type="text" name="nachname" value="Seitz" /></td>
</tr>
<tr>
<td></td>
<td><button id="speichern" name="aktion" type="button"
value="speichern">Speichern</button></td>
</tr>
</tbody>
</table>
METHODS
Konstruktor
new() - Instanziiere Objekt
Synopsis
$e = $class->new(@attVal);
Description
Instanziiere ein Formular-Objekt und liefere eine Referenz auf dieses Objekt zurück.
Objektmethoden
html() - Generiere HTML
Synopsis
$html = $e->html($h);
$html = $class->html($h,@attVal);
Description
Generiere den HTML-Code des Formular-Objekts und liefere diesen zurück. Als Klassenmethode gerufen, wird das Objekt intern erzeugt und mit den Attributen @attVal instanziiert.
VERSION
1.07
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2016 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.