Hi.
I created a form to update some data in a database. The first view of the site is fine but if I send the form via the automaticly generated button it will redirect me to a blank page. I looked into the source code of this blank page - it was empty, even no head tags or something like that- nothing.
Can anyone explain me this behavior?
I checked my sourcecode more than one time and didnt find a mistake but ... well maybe I´m overlooking something.
The whole thing is done by a subclass of Page and its Controller.
Here is a snippet of my Code, I also attached the whole file.
/**
* Das Formular für die Seite
* Hier kann der Datensatz leicht manipuliert werden.
*/
function Form(){
$auftrag = $this->getAuftrag();
if($auftrag){
// Daten für die Dropdownliste Kunde holen
$kunden = DataObject::get('Kunde');
if ($kunden){
$kundenSources = $kunden->toDropDownMap('ID', 'Name'); // Datenaufbereite
}
$fields = new FieldSet(
new TextField('Auftragsnummer', 'Auftragsnummer', $auftrag->Auftragsnummer),
new TextField('Thema', 'Thema', $auftrag->Thema),
new DateField('Startdatum', 'Startdatum', $this->DatumsWandler($auftrag->Startdatum)),
new DateField('Enddatum', 'Enddatum', $this->DatumsWandler($auftrag->Enddatum)),
new CheckboxField('Abgeschlossen', 'Abgeschlossen', $auftrag->Abgeschlossen),
new DropdownField('KundeID', 'Kunde', $kundenSources, $value=$auftrag->KundeID)
);
$actions = new FieldSet(
new FormAction('doAuftragUpdate', 'Auftrag aktualisieren')
);;
$validator = new RequiredFields(
'Auftragsnummer',
'Thema',
'Startdatum',
'Enddatum'
);
$form = new Form(
$this,
'Form',
$fields,
$actions,
$validator
);
return $form;
}
}
function doAuftragUpdate($data, $form){
$auftrag = $this->getAuftrag();
if($auftrag){
$form->saveInto($auftrag);
$auftrag->write();
$form->sessionMessage('Der Auftrag wurde erfolgreich aktualisiert', 'good');
}
Director::redirectBack();
return;
}