Hallo,
ich habe jetzt schon eine ganze Weile im Forum gesucht aber keine Lösung zu meinem Problem gefunden. Ich habe ein Formular, das beim absenden die gleiche Seite aufruft. Die Werte des Formulars kann ich mit post() auch wunderbar auslesen und verarbeiten. Damit den Nutzer sehen kann was er eingegeben hat belege ich die Felder mit dem Standardwert
{{form::FELD}}
Das funktioniert bis hier hin auch sehr gut. Um alle Eingaben zu löschen möchte ich alle Formulardaten löschen und wieder auf der gleichen Seite landen. Dafür habe ich ein zweites Formular mit nur einem Absendebutton erzeugt, dass mit Hilfe des processFormData-Hooks auf die Seite umlenkt, die URL von allen Balast befreit und, so meine Hoffnung, die Formulardaten löscht. Hier die dazugehörige Klasse:
Ich habe für die beiden Felder zwei Varianten getestet, beide machen nicht das was ich will. Wenn ich mir die Inhalte mittels post() ausgeben lasse stehen sie noch drin. Genauso werden durch die Inserttags {{form::FELD}} die Werte weiter angezeigt.PHP-Code:
class DeleteFilter extends Frontend
{
public function deleteFilterOnSubmit($arrPost, $arrForm, $arrFiles)
{
// wenn nicht dieses Formular, dann beenden
if($arrForm['id'] != 2)
{
return;
}
//Formularwerte zurücksetzen
$this->Input->setPost('feld1','');
$this->Input->setPost('feld2');
$path = $this->Environment->base . 'meineSeite.html';
// hier wird auf die Seite umgeleitet - URL von Balast befreit
$this->redirect($path);
}
}
Kann mir jemand helfen? Die Werte aus dem Formular müssen sich doch löschen lassen.
Vielen Dank und viele Grüße