Formulář v komponentě – po odeslání se nic neděje

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

Zdravím,
lámu si hlavu, proč mi tohle nejede. Dump mi jedničku vypíše, po vyplnění a odeslání bych čekal, že to vypíše dvojku, ale nic se neděje. Vůbec nemůžu přijít na to, kde je chyba. Děkuji za pomoc.

/**
* @return Nette\Application\UI\Form
*/
protected function createComponentNewTaskForm()
{
    $form = new Form();
    $form->addText('name', 'Název: ', 10, 30)
    ->addRule(Form::FILLED, 'Je nutné zadat název úkolu.');

    $form->addSubmit('create', 'Vytvořit')
    ->setAttribute('class', 'btn btn-primary');

    $form->onSuccess[] = callback($this, 'newTaskSubmitted');
    dump(1);

    return $form;

}

/**
* @param Nette\Application\UI\Form $form
*/
public function newTaskSubmitted(Form $form)
{
    dump(2);
	$this->taskRepository->create($form->values->name,$this->project->id_project);
    $this->flashMessage('Úkol přidán');
}
David Matějka
Moderator | 6445
+
0
-

vytvaris opravdu \Nette\Application\UI\Form?

nic se nedeje? tzn. dojde k odeslani, znovu se nacte stranka a.. ve formulari zustane vepsana hodnota, nebo je prazdnej?

Majkl578
Moderator | 1364
+
0
-

A jak vytváříš tu komponentu?

EdWood
Člen | 16
+
0
-

Je prázdej, do url se vloží name=neco&create=Vytvořit po odeslání. Ano používám use Nette\Application\UI\Form. Vytvářím v šabloně:

{form newTaskForm}
    {label name /} {input name}
    {input create}
{/form}
Jan Endel
Člen | 1016
+
0
-

To by se nemělo dostávat do url, defaultně jdou formuláře v Nette postem, hod sem jak se ti ten formulář vygeneruje v šabloně.

EdWood
Člen | 16
+
0
-

Díky za nakopnutí, bylo to tím, že to bylo obaleno ještě jedním tagem <form>. Zkoušel jsem si ho nastylovat a tak jsem tam hlupácky zapoměl ten tag. Ještě jednou díky.