Jak ovlivnit přesměrování po nevalidním odeslání formuláře
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Bertram
- Člen | 75
Ahoj, pokud odešlu nevalidní formulář, nenačte se stránka na pozici
(umístění), kde je chybová hláška, ale musím rolovat, protože je
formulář i chybová hláška dole na stránce.
Nevíte, zda jde toto chování nějak ovlivnit? U validního odeslání, lze
do redirect přidat #kotva, ale co a jak se děje po nevalidním odeslání
netuším.
- MartinitCZ
- Člen | 580
Do constructoru formu (tam kde máš $this->addSubmit.....) přidej
$this->action .= "#kotva";
- vvoody
- Člen | 910
Ale pozor ak ide o Nette\Application\UI\Form, on si sam nastavuje action pri naviazani na rodicovsku komponentu (presenter), takze treba action upravit az po jeho vytvoreni:
public function createComponentTestForm(){
$form = new \Nette\Application\UI\Form;
$form->addSubmit('abc', 'xyz');
// $form->action .= '#kotva';
// tu to nema vyznam, action bude aj tak prepisany
return $form;
}
public function renderDefault()
{
$this['testForm']->action .="#kotva";
}