Podsestava pomoci NForm
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- AceUnihoc
- Člen | 19
Jde vytvorit formular viz. nize pomoci NForm ? Jde mi o podsestavu spojeni dvou tabulek napr. osoby a schopnosti, aby bylo mozne pridat k jedne osobe X schopnosti.
<form>
<label>Jmeno:</label><input type="text" name="name" />
<label>Adresa:</label><input type="text" name="adresa" />
<label>Schopnosti:</label><input type="text" name="schopnosti[]" />
<label>Schopnosti:</label><input type="text" name="schopnosti[]" />
<label>Schopnosti:</label><input type="text" name="schopnosti[]" />
</form>
Editoval AceUnihoc (24. 8. 2008 12:10)
- David Grudl
- Nette Core | 8218
Nerozumím přesně, v čem má ležet ten zádrhel? V tom
schopnosti[]
, tedy poli hodnot?
Pokud ano, tak to se dá řešit pomocí jmeného kontejneru. To je
jakýkoliv kontejner implementující interface INamingContainer
,
např. FormContainer
.
$form = new Form();
$form->addText('name', 'Jméno:');
$form->addText('address', 'Adresa:');
$sub = $form->addContainer('schopnosti');
$sub->addText('0', 'Schopnosti:');
$sub->addText('1', 'Schopnosti:');
$sub->addText('3', 'Schopnosti:');
$form->render();
Po odeslání vrátí $form->getValues() takovouto strukturu:
array(3) {
"name" => string(6) "Franta"
"address" => string(10) "Pod mostem"
"schopnosti" => array(3) {
0 => string(3) "..."
1 => string(3) "..."
3 => string(0) ""
}
}