AppForm a dynamické doplnění SelectBoxu přes JS
- tomp
- Člen | 6
Ahoj!
Nevím si rady s následujícím:
Mám jednoduchý formulář s jedním multiselectem obsahujícím jeden option.
Tento formulář vytvářím v action pomocí továrničky na komponenty.
Vypadá asi takto:
$form = new AppForm($this, 'xxxForm', newConventionalRenderer);
$form->addMultiSelect("lstProducts","")->setItems(array("1"=>"Prvek 1"));
$form->addSubmit("sbButton","Uložit");
$form->onSubmit[] = array($this, 'xxxFormSubmitted');
Pokud ho odešlu tak jak je teď napsaný nahoře, zavolá se správně funkce xxxFormSubmitted() pro zpracování.
Pokud ale pomocí jQuery přidám do selectu ve formuláři nějaké options navíc, tak pak se formulář sice také odešle, ale už se mi nezavolá funkce xxxFormSubmitted(). Nemůžu přijít na to, čím to je. Kontroloval jsem co se odesílá pomocí firebugu – obě možnosti zasílají totožná data, ale v druhém případě se mi nezavolá xxxFormSubmitted(). Nevíte, kde je chyba?
Děkuji za pomoc!
- Honza Marek
- Člen | 1664
To bude asi nějakou ochranou proti podvrhnutí. Formuláře tuším kontrolují, jestli v selectu dostanou nějakou z hodnot, kterou jsi jim nastavil.
- Patrik Votoček
- Člen | 2221
to bude validací… nette si myslím kontroluje jestli to co jsi poslal jako
„vybranou“ volbu seznam obsahoval. Pokud ne neni validni. Tím pádem
nevolá onSubmit
ten se totiž volá pouze pokud je form validní.
Budeš muset něják pořešit aby jsi předal položky které jsi přidal
pomocí jQuery byly i v definici MultiSelectu.