addDynamic uprava formulara

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

Ahojte,

potreboval by som poradiť, upravujem formular v ktorom mám addDynamic komponentu s klucovymi slovami.

Takto vyzera moj edit formular

<?php
   $form = new Form;
          $form->addHidden('id_book');
          $form->addText('name','Názov:')
               ->setRequired('Prosím zadajte názov knihy');
          $form->addText('author','Autor:')
               ->setRequired('Prosím zadajte autora knihy');

            $presenter = $this;
             $invalidateCallback = function () use ($presenter) {
            /** @var \Nette\Application\UI\Presenter $presenter */
            $presenter->invalidateControl('edit_kniha');
        };

        $form->addGroup('Kľúčové slová');
        $replicator = $form->addDynamic('keywords', function (Container $slovo) use ($invalidateCallback) {
            $slovo->addText('word', 'Kľúčové slovo:')->setRequired();

            $slovo->addSubmit('remove', 'Smazat')
                ->addRemoveOnClick(callback($this,'MyFormRemoveElementClicked'));

        }, 0);

        /** @var \Kdyby\Replicator\Container $replicator */
        $replicator->addSubmit('add', 'Přidat další klíčové slovo')
            ->addCreateOnClick($invalidateCallback);


        $form->addSubmit('send', 'Upravit knihu')
             ->onClick[] = callback($this, 'editFormSubmitted');

        $form->action .= '#snippet--edit_kniha';
        return $form;
?>

Hodnoty sa mi nacitaju spravne aj s id_book.

Potom mam metodu ked kliknem na zmazat klucove slovo, tak mi vyhodi ID

<?php
public function MyFormRemoveElementClicked(Kdyby\Replicator\Container $replicator, Container $slovo)
            {
                $id = $slovo->name;
		// tuto potrebujem id_knihy aby som mohol vymazat slovo+knihu z databaze
            }


?>

Čo ale potrebujem zistit je id knihy v tej metode. Viete mi poradit ako sa k tomu dostat aby som so mohol dalej spracovat?
Dakujem

Editoval attika8 (19. 3. 2013 17:50)

Filip Procházka
Moderator | 4668
+
0
-

Co třeba

$id_book = $replicator->form['id_book']->value;
attika8
Člen | 23
+
0
-

super, dik..sorry za lamersky dotaz :) všetci sme raz zacinali :D