Jak následující kód přepsat do Nette 2.0.5? onClick
- motorcb
- Člen | 551
V Nette 2.0.4 mi toto fungovalo:
protected function createComponentRegistrationSubmitForm()
{
$form = new Form();
$form->addSubmit('ok', 'Ano')
->onClick[] = callback($this, 'okSubmitted');
$form->addSubmit('no', 'Ne')
->onClick[] = callback($this, 'noSubmitted');
return $form;
}
public function okSubmitted( \Nette\Forms\Controls\SubmitButton $button )
{
$this->redirect('Homepage:default');
}
public function noSubmitted( \Nette\Forms\Controls\SubmitButton $button )
{
$this->redirect('Homepage:super');
}
Pokoušel jsem se takto ale stále nefunguje :(
protected function createComponentRegistrationSubmitForm()
{
$form = new Form();
$form->addSubmit('ok', 'Ano')
->onClick[] = $this->okSubmitted;
$form->addSubmit('no', 'Ne')
->onClick[] = $this->noSubmitted;
return $form;
}
public function okSubmitted( \Nette\Forms\Controls\SubmitButton $button )
{
$this->redirect('Homepage:default');
}
public function noSubmitted( \Nette\Forms\Controls\SubmitButton $button )
{
$this->redirect('Homepage:super');
}
- duke
- Člen | 650
Pokud mu to ve verzi 2.0.4 fungovalo, tak to problém s namespacem být nemůže.
motorcb napsal:
Změní se adresa:
page?do=actionSubmitForm-submit
Tady bude zakopaný pes, neboť správné url by mělo vypadat:
page?do=registrationSubmitForm-submit
Patrně máš tedy chybu v šabloně, kde máš
{control actionSubmitForm}
místo
{control registrationSubmitForm}
nebo podobnou nepřesnost. Proč
se ti to začlo projevovat až po upgrade na novou verzi Nette ale netuším.
Spíš si myslím, že sis tam tu chybu zanesl nezávisle na tom (patrně když
ses rozhodl komponentu přejmenovat).
Editoval duke (14. 9. 2012 22:27)
- motorcb
- Člen | 551
Díky za nápady. Opravdu v novém FW to funguje.
Problém byl v následujícím JS kódu, který omezuje vícenásobné
odeslání formuláře.
$(document).ready(function()
{
$("form").submit(function() {
var el = $(this).find(":submit, :image");
el.attr("disabled", "disabled");
setTimeout(function() {
el.attr("disabled", "");
}, 5000);
});
});
Nevěděl by někdo jak to opravit?