Dynamické přidání checkboxu do formuláře
- lukas.jenicek
- Člen | 15
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
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
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
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
Rádo se stalo. Jinak co to dělá a jak to ošetřuje data, je v tom článku, co jsem poslal ;-)