There is no handler for signal ‚submit‘

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

ahoj .. snazim se rozchodit tovarnicku na formulare …
presne podle navodu … ale netusim co znamena tahle hlaska

There is no handler for signal ‚submit‘ in class Nette\Application\UI\Multiplier

děkuji

public function createComponentKorekturaForm(){
       return new Multiplier(function ($itemId) {
       $form = new Form;

       $form->addText('komentKorektura' , 'Poznamka ke stavu: ');

      $form->addHidden('itemId', $itemId);
       $form->addSubmit('send', 'Přidat do košíku');
       return $form;
   });
matopeto
Člen | 395
+
0
-

chyba ti tam co sa ma robit po submite.

pridaj napr.

<?php

$form->onSuccess[] = nejakafunkcia;

?>

Editoval matopeto (11. 4. 2014 17:11)

malkol
Člen | 133
+
0
-

no .. asi jsem problém odsunul … nemohu na to ale prijit .. uz u toho sedim dve hodiny …
je to uz na palici :D .. nevim co s tim

Cannot read an undeclared property Nette\Application\UI\Form::$onSucess.

public function createComponentKorekturaForm(){
        return new Multiplier(function ($itemId) {
        $form = new Form;

        $form->addText('komentKorektura' , 'Poznamka ke stavu: ');
        $form->addHidden('itemId', $itemId);
        $form->onSucess[] = $this->korekturaFormSucceeded;

        return $form;
    });
}

public function korekturaFormSucceeded($form){
        $values=$form->getValues();
        dump($values);

    }
matopeto
Člen | 395
+
0
-

on Success (dva s i c) v tom mojom prispevku predtym som mal preklep. (uz opravene).

Editoval matopeto (11. 4. 2014 17:11)

malkol
Člen | 133
+
0
-

dík . . už to frčí .. ale netuším kde jsem měl před tím chybu … to bude asi tím jak do toho už zírám 2 hodiny … to pak clovek uz oslepne ;)

malkol
Člen | 133
+
0
-

co kdybych potreboval do formuláře protlacit více promenných … příklad jsem nikde nenasel ..

instinktivne jsem to nejak udelal … ale asi spatne ;)

kde je prosim vás chyba ?

public function createComponentKorekturaForm(){
        return new Multiplier(function ($idS,$idK) {
        $form = new Form;

        $form->addText('komentKorektura' , 'Poznamka: ');
        $form->addHidden('idS', $idS);
        $form->addHidden('idK', $idK);

        $form->onSuccess[] = $this->korekturaFormSucceeded;

        return $form;
    });
    }
{control korekturaForm-$idS,$idK}
Filip Procházka
Moderator | 4668
+
0
-

Obecně je lepší se takovým komplikacím vyhnout.

protected function createComponentKorekturaForm()
{
	return new Multiplier(function ($idS) {
		return new Multiplier(function ($idK) use ($idS) {
			$form = new Form;

			$form->addText('komentKorektura' , 'Poznamka: ');
			$form->addHidden('idS', $idS);
			$form->addHidden('idK', $idK);

			$form->onSuccess[] = $this->korekturaFormSucceeded;

			return $form;
		});
	});
}
{control korekturaForm-$idS-$idK}
malkol
Člen | 133
+
0
-

jeste mi neni jasne kudy tam tedy vstupuje to $idK … ale predpokladam ze to byl pravdepodobne preklep …
nicméně mi to pořád padá do Component or subcomponent name must not be empty string.
co s tím ? :-)

David Matějka
Moderator | 6445
+
0
-

co s tím ? :-)

neposilat tam empty string :)

EDIT: ok, reknu k tomu vic :) $idS nebo $idK je asi nekdy prazdny (v sablone)

Editoval matej21 (13. 4. 2014 17:37)

malkol
Člen | 133
+
0
-

ne jasne ;) .. overil jsem ty promenné a jedna z nich opravdu byla prazdna ;) díky .. moc jsi mi pomohl