Jak na register button v login formuláři

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

Chtěl bych do login formuláře přidat button navíc, který přesměruje uživatele na stránku s registrací, mám

$form = new UI\Form;
$form->addText('login_login', 'Login');
$form->addPassword('login_password', 'Password');
$form->addSubmit('login_button', 'Login');
$form->addButton('register_button', 'Register');
$form->onSuccess[] = array($this, 'signInFormTopSubmitted');

ale nevím jak register button přidat akci přesměrování na kliknutí, poradíte?

Jan Suchánek
Člen | 404
+
0
-

Zkus použít onClick[]:

$register = $form->addButton('register_button', 'Register');
$register->onClick[] = $this->signInFormRegister;
microcz
Člen | 62
+
0
-

toto hlásí chybu:

Cannot read an undeclared property Nette\Forms\Controls\Button::$onClick

Jan Suchánek
Člen | 404
+
+1
-

Ok, já přehlédl ten addButton, zkusil bych:

$login = $form->addSubmit('login', 'Login');
$register = $form->addSubmit('register', 'Register');

$register->onClick[] = $this->signInFormRegister;
$login->onClick[] = $this->signInFormTopSubmitted; // potřeba kontrolovat $form->isSuccess()

U buttonu jde podle dokumentace předat js funkce.

Editoval jenicek (6. 6. 2014 13:19)

microcz
Člen | 62
+
0
-

děkuji moc za radu

Jan Suchánek
Člen | 404
+
0
-

Jinak, pokud bys chtěl přehodit input na button tak to lze taky. Zkus pohledat na foru.