Dokumentation
$form->addElement()
$form->render()
$form = TF::Get('TF.View.Form',array('method' => 'post','id' => 'addform'));
$form->addElement("hidden",'hidden_name')->setValue(1);
$form->addElement('text','m_Text',5,'Text');
$form->addElement('Datetime','m_Date','Wiedervorlage ab')->setValue(
TF::Get('TF.Datetime')->setNow()->modify("+1","day")
);
$data = array('A' => 'B','C' => 'D');
$form->addElement('selection','m_User_ID','selection',"Benutzer",$data);
$form->addElement("button","submitbutton","anlegen",'submit');
return $form->render();
$form->addElement("text");
$form->addElement("select");
$form->addElement("hidden");
$form->addElement("checkbox");
$e = $form->addElement('text','name',1);
$e->setValue("1234");
$group = TF::get('TF.View.Form.Group');
$group->addElement('text','name',1,'Label');
$form->addElement($group);
<div class="frme text fieldname"><label>Text</label>
<textarea name="fieldname" rows="15"></textarea>
</div>
Jedes Formularelement muss einen einzigartigen Namen besitzen, andernfalls werden bestehende Elemente überschrieben.
$e = $form->getElement($name);
$form->removeElement($name);
$e = $form->getElement('name');
$e->set('attr','class','newCssClass');
$e->set('event','onclick','alert(\'test\')');
$e->set('decorator','innerwrap',array('<div>','</div>');
Das Beispiel geht von einem Routing und Controller-Schema aus, wie es in den Tutorials entsteht.
TF::prepare('TF.View');
class MyApp_View_Form extends TF_View
{
public function render($request)
{
$form = TF::Get('TF.View.Form',array('method' => 'post'));
$form->addElement('hidden','view')->setValue('MyApp.Form');
$form->addElement('hidden','action')->setValue('doFormAction');
$form->addElement('text','mytext1','Textfeld');
$form->addelement('button','mysubmit','senden','submit');
$return = $form->render();
return $return;
}
public function doFormAction($request)