[2009-08-04] addTracker() a Form
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- David Grudl
- Nette Core | 8227
Poznámka se týká jen Form, neplatí pro AppForm.
Měl jsem za to, že když vytvoříte pojmenovaný formulář (např.
$form = new Form('jmeno')
) získá automaticky tzv. tracker, což
je skryté políčko sloužící k odlišení více formulářů na stránce.
Nebylo tomu tak a tracker bylo nutno přidávat ručeně
$form->addTracker('jmeno')
. Bez něj nemohlo dobře fungovat
používání více formulářů na jedné stránce.
Od revize 473 jsem tento nedostatek napravil, nicméně přidání více trackerů vyvolá výjimku. Pokud tedy vytvoříte pojmenovaný formulář a poté do něj vložíte tracker, vyhodí se výjimka InvalidStateException: Component with name ‚_form_‘ already exists
Řešením je prostě příkaz addTracker(...)
smazat a vše
bude fungovat. Sorry za BC break.