setDisabled(FALSE) po AJAXu nevraci prvek
- Chbox
- Člen | 125
Mám form:
...
$form->addSelect('test','Test:'. array())->setDisabled();
...
a handle:
...
$form['test']->setItems($items)->setDisabled(FALSE);
...
problém je, že prvek se vizualně nastaví správně ale po submitu formu
tento prvek vůbec není v poli vrácených hodnot.
Dělám něco já blbě nebo Nette2?
Edit: samozřejmě setDisabled(FALSE) – oprava titulku
Editoval Chbox (27. 1. 2011 23:50)
- Chbox
- Člen | 125
mám za to, že setDisabled(FALSE) je opak setDisabled(TRUE), jde o to, že když prvek nastavím při ajaxovým požadavku z setDisabled() na setDisabled(FALSE), tak graficky je selectbox ovladatelný, naplni se i hodnatami přes setItems, ale při onSubmit[] je hodnota takoveho selectboxu vzdycky NULLL. Dostanu se k ní buď přes getRawValue() nebo přes getHttpRequest()->post, tak mě zajíma, co dělám špatně..
Editoval Chbox (28. 1. 2011 18:51)
- bojovyletoun
- Člen | 667
Není problém v tom, že sice vytvoříš formulář, který má něco disabled, pak to signálem povolíš, ale po odeslání se žádný signál neprovede, který by to povolil. Vlastně ani není možnost jak to zjistit.
Napadá mě vytvořit persistentní bool parametr s default hodnotou true,
který má informaci o stavu prvku a v konstruktoru formu nastavit
disabled=$param
a v handlu volat disable=false
;
- Chbox
- Člen | 125
jn, jsem tady prošel včera mezi 3–5 hodinou ranní včechno kolem toho a je to dano životním cyklem. Signál to sice oddisabluje jak má, ale ještě je potřeba přemluvit komponentu aby se shodovala při vytváření se stavem po signálu, jinak se na to dívá pořad jako na disabled.. přemýšlím, jak to vyřešit.