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
+
0
-

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.