setDisabled(FALSE) po AJAXu nevraci prvek

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Chbox
Člen | 125
+
0
-

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
+
0
-

a další problém mám, že pokud inicializuju prvek prázdným polem nebo vůbec, tedy vezme se default NULL a v handleru pak přiřadím nějaké pole ->setItems(), tak to vrací NULL…hm

Editoval Chbox (28. 1. 2011 1:10)

Aurielle
Člen | 1281
+
0
-

Nerozumím tvé otázce… Zakázané formulářové prvky se neodesílají.

Chbox
Člen | 125
+
0
-

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)

Foowie
Člen | 269
+
0
-

Otestuj, jestli není v onSubmit disabled prvku true.

bojovyletoun
Člen | 667
+
0
-

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
+
0
-

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.

Ani
Člen | 226
+
0
-

Komponenta může být persistentní, což by mělo řešit tvůj problém.