onClick[] na formulari nefunguje, preco? prosim pomoc
- azicko
- Člen | 7
Ahoj,
Mam komponentu signInForm kde chcem mat dolu dve tlacidka, 1 ⇒ login 2⇒
register
Jednym sa submitne signInForm a prihlasi uzivatela a druhe by som chcel aby
presmerovalo na Register:default presenter. Problem je ze sa mi nespustia metody
ktore definujem na onClick[] tlacidiel..
Fakt sa param s tym celu noc, preliezol som cele forum a skusal som vsetko, prosim help..
headers
use Nette\Application\UI\Control as Control;
use Nette\Application\UI\Form as Form;
class SignInForm extends Control :
function __construct($user) {
parent::__construct();
$this->user = $user;
}
protected function createComponentSignInForm() {
$form = new Form();
$form->getElementPrototype()->class('login');
$form->addText('username', 'Uživatelské jméno:', 15, 30)
->getControlPrototype()->class('inputs');
$form->addPassword('password', 'Heslo:', 15)
->getControlPrototype()->class('inputs');
$form->addCheckbox('persistent', 'Pamatovat si mě na tomto počítači');
$form->addSubmit('login', 'login')
->getControlPrototype()->class('loginButton')
->onClick[] = $this->skuska;
$form->addSubmit('register', 'register')
->getControlPrototype()->class('registerButton')
->onClick[] = $this->skuska1;
Nette\Diagnostics\Debugger::barDump($form->isValid(),'valid');
// $form->onSuccess[] = $this->signInFormSubmitted;
return $form;
}
public function skuska(SubmitButton $button) {
Nette\Diagnostics\Debugger::barDump($form,'skuska');
}
public function skuska1(SubmitButton $button) {
Nette\Diagnostics\Debugger::barDump($form);
}
BasePresenter :
protected function createComponentSignInForm() {
$control = new SignInForm($this->user);
return $control;
}
V dokumentaci sa pise ze sa onClick provede iba ked je form validni, toz
validni je ..debuger hlasi true.
Skusal som rozne zapisy na volane metody zavesene na onClick[] :
->onClick[] = array($this,‚skuska‘);
->onClick[] = callback($this,‚skuska‘);
->onClick[] = $this->skuska;
Ziadna mi nejde :(, stranka sa obnovi ale nic sa nestane, prosim help ..uz neviem co ..preliezol som vsetko, viac krat sa to tu riesilo ale mne nic nepomohlo a uz neviem co
skuskove metody su len docasne ..stejne ale sa nezavolaju v bardumpe sa neobjavi odchytene submitButton
(otazka mimo : staci potom v metode redirectRegister zavolat $this->presenter->redirect(Register:default) ??)
Velmi pekne dakujem
- jiri.pudil
- Nette Blogger | 1032
Vždyť ten onclick nenavěšuješ na tlačítko jako takové, ale na jeho controlPrototype (tedy Nette\Utils\Html). Zkus takhle:
$button = $form->addSubmit('login', 'login')
->onClick[] = $this->skuska;
$button->getControlPrototype()->class('loginButton')
- azicko
- Člen | 7
jiri.pudil napsal(a):
Vždyť ten onclick nenavěšuješ na tlačítko jako takové, ale na jeho controlPrototype (tedy Nette\Utils\Html). Zkus takhle:
$button = $form->addSubmit('login', 'login') ->onClick[] = $this->skuska; $button->getControlPrototype()->class('loginButton')
vau ! dakujem ti velmi pekne :) vobec by ma toto nenapadlo ..
Diky velke !