Přidání položky do multiselect boxu

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

Zdravím,
ve formuláři mám dva multiselect boxy: v prvním jsou položky, které už jsou objektu editovanému ve formuláři přiřazeny, v druhém jsou všechny ostatní, které mu uživatel ještě přiřadit může. Oba se plní v action z databáze.

Problém je, že ačkoliv uživatel může pomocí JS přiřazené položky měnit, odešlou se mi vždy jen ty, které byly vyplněné původně. Chápu, že se tak děje kvůli tomu, že v době vytvoření formuláře ty hodnoty nejsou známé a jsou pak považovány za nepovolené (v $_POST je najdu, v getValues() ne).

Měl by někdo nějakou best practice, jak tohle řešit? Udělat ten multiselect jako snippet a měnit ho pomocí ajaxu (pomocí handle?)? Jde to i nějak jinak? Budu velmi vděčný za radu.

Filip111
Člen | 244
+
0
-

Ahoj, narazil jsem na stejný problém – mám multiselect, pomocí jQuery do něj přidám nové option hodnoty a potřebuji je uložit.
Po odeslání formuláře se ale nic nevrátí, Nette je nepovažuje za platné, protože tyto hodnoty v multiselectu při generování formuláře nebyly.

Dá se to nějak obejít?

Díky, Filip

kashpi
Člen | 48
+
0
-

Pokud vím, je to bezpečnostní opatření Nette. Pokud to tak opravdu chceš, tek použij místo getValues() metodu getHttpData()
Ale radím si to dobře ošetřit