Snippety formular za formular
- RDPanek
- Člen | 189
Ahoj,
řeším registrační a přihlašovací formulář v jedné šabloně
uzavřené v snipetech.
Registrační form. se mi úspěšně ajaxem překreslí přihlašovacím
formulářem, ale pokud zadám údaje do přihlašovacího formuláře, tak se
místo ajaxového zpracování a zavolání metody pro obsluhu přihlašovacího
formuláře, reloadne celá stránka a zobrazí se registrační formulář.
{snippet form}
{if isset($login)}
{control loginForm}
{else}
{control verifyEmailForm}
{/if}
{/snippet}
Prvně se zobrazí registrační formulář ⇒ verifyEmailForm „neřešte prosím názvy a popisky, celý proces se snažím velice zjednodušit“, po registraci zobrazí přihlašovací form ⇒ loginForm.
Registrační form:
$form = new Form($this, $name);
$form->getElementPrototype()->class('ajax');
...
$form->onSubmit[] = array($this, 'postForm_isUserRegistered');
return $form;
/** zpracovani */
public function postForm_isUserRegistered(Form $form)
{
...
// prihlaseni
$this->template->login = TRUE;
// invalidace snipetu form
$this->invalidateControl('form');
}
Přihlašovací form:
...
$form->onSubmit[] = array($this, 'postForm_isUserRegistered');
return $form;
/** Zpracování **/
public function postForm_userLogin(Form $form)
{
// sem se vůbec běh aplikace nedostane
}
Místo aby se prihlasovaci form zpracoval, stranka se reloadne.
Zpracovani registracniho formulare sleduji v konzoli a dostanu:
/du/www/?do=verifyEmailForm-submit
POST
200
OK
application/json
a při zpracování přihlašování:
/du/www/?do=loginForm-submit
POST
200
OK
text/html
lze to nějak pořešit?
Chci, aby se po odeslání přihlašovacího formu zavolala metoda
„postForm_userLogin“ a tam budu pokračovat v ověření zadání atd. atd.
ale do této metody se vůbec aplikace, tak jak bych čekal nedostane.
Řešil jste to někdo? Díky