Dynamické přidání checkboxu do formuláře

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

Dobrý den,
mám klasický formulář vytvořil jsem si ho jako třídu, která extenduje Nette\Application\UI\Form a potom tento fomulář volám v komponentě. Jenže potřebuju tam přidat nebo spíše měnit checkboxy. Tato změna je závislá na základě výběru v SELECTU zatím to řeším tak, že prostě mám v javascriptu napsaný event, který ON CHANGE pošle ajaxovej dotaz s hodnotou SELECTU a podle toho se objeví checkboxy. Potřebuju nějakým způsobem přidat tyto checkboxy do formuláře, jelikož takhle když odešlu formulář tak nemůžu získat hodnoty checkboxů pomocí klasické metody getValues. Budu vděčný za jakoukoliv radu.

David Kudera
Člen | 455
+
0
-

Na tohle jsi se koukal? Jinak dá se použít tohle:

$form->getHttpData();							// načte všechny data
$form->getHttpData(Form::DATA_LINE, 'email');	// načte políčko emailu jako jeden řádek textu

// apod...

Něco víc najdeš tady.

Jo a kdyžtak rozšiřování třídy jen za účelem jejího nastavení se tak nějak považuje za antipatern. Možná by bylo lepší rozšířit si Control a v něm si Form vytvořit. Ale i o tomhle je tu spousta témat i z nedávné doby. Někteří říkají, že je to v pohodě a jiní zase že ne, takže bude lepší si to počíst a rozhodnout se sám ;-)

Editoval David Kudera (17. 7. 2014 15:29)

lukas.jenicek
Člen | 15
+
0
-

Jo pomocí týhle metody to funguje krásně, jenom docela důležitá otázka je ten vstup ošetřenej proti XSS ?

<?php
$form->getHttpData();
?>

Díky za odpověď

Editoval lukas.jenicek (17. 7. 2014 15:57)

lukas.jenicek
Člen | 15
+
0
-

Jo kdybych nebyl línej , tak jsem to vyzkoušel a všechno funguje jak má takže to nechám asi takhle díky moc

David Kudera
Člen | 455
+
0
-

Rádo se stalo. Jinak co to dělá a jak to ošetřuje data, je v tom článku, co jsem poslal ;-)