Dynamické překřeslení části formuláře
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- JARDA001
- Člen | 4
Zdravíčko. Tak zas otravuju ohledně formuláře…Mám metodu vytvářející formulář
public function handleInval () {
$newForm = new Form;
$newForm->addText ('author', 'Autor: ')->setRequired ('Zadejte jméno autora.');
$newForm->addText ('birthdate', 'Datum narození autora: ')->setRequired ('Zadejte datum narození autora');
$newForm->addText ('date_of_death', 'Datum úmrtí autora: ');
$this['addBookForm']['author'] = $newForm;
$this->redrawControl ('myForm');
}
protected function createComponentAddBookForm () {
$form = new Form;
$authors = $this->catalogManager->getAuthors ();
$genres = $this->catalogManager->getGenres ();
$author = $form->addContainer ('author');
$author->addSelect ('selAuthor', 'Vyberte autora: ', $authors)->setPrompt('Vyberte autora');
$author->addButton ('newAuthor','Přidat nového autora')->setAttribute ('onclick', 'handleInval ()');
$form->addText ('title', 'Titul: ')->setRequired ('Zadejte název díla.');
$form->addTextArea ('abstract', 'Abstrakt');
$form->addText ('isbn', 'ISBN: ');
$form->addText ('part_count', 'Číslo svazku: ');
$form->addText ('year', 'Rok vydání: ');
$form->addSelect ('genre', 'Žánr: ', $genres)->setRequired ('Vyberte vhodný žánr.');
$form->addSubmit ('submit', 'Zařadit do katalogu');
$form->onSuccess [] = callback ($this, 'addBookFormSubmitted');
return $form;
}
a potřeboval bych zajistit, abych mohl vybrat autora ze selectu a následně
doplnil jen informace o titulu (což je v podstatě tento stav) nebo
v případě kliknutí na ‚Přidat nového autora‘ došlo k překreslení
(zahození) select boxu (selAuthor) a tlačítka (newAuthor) na pole text boxů
(jméno, datum narození/umrtí), viz handleInval.
V šabloně mám aktuálně toto:
{snippet myForm}
{control addBookForm}
{/snippet}
Zkoušel jsem už různý věci, ale zatim nic nefungovalo. Pokud by někdo věděl, jak to rychle pořešit, budu velmi vděčný. Díky moc.