vymazání formuláře po odeslání ajaxem
- zizka
- Člen | 11
Začínám s nette, prošel jsem si tutoriál a zprovoznil jsem vše, kromě toho, aby po odeslání formuláře s novým úkolem přes ajax došlo k vymazání hodnot z formuláře. Mám za to, že by kód z tutoriálu měl fungovat, ale tvrdošíjně mi tam zůstávají poslední vyplněné hodnoty. Má to fungovat, nebo je v tom tutoriálu chyba? Stáhnul jsem si i poslední verzi tutoriálu z GitHubu (tutorial-todo-7) a chová se to úplně stejně…
- Vojtěch Dobeš
- Gold Partner | 1316
Ve zpracování formuláře, viz thunderbuff:
if ($this->isAjax()) {
$form->setValues(array(), TRUE);
$this->invalidateControl('nazev snippetu');
} else {
$this->redirect('this');
}
- zizka
- Člen | 11
vojtech.dobes napsal(a):
Ve zpracování formuláře, viz thunderbuff:
if ($this->isAjax()) { $form->setValues(array(), TRUE); $this->invalidateControl('nazev snippetu'); } else { $this->redirect('this'); }
Ale já tam tohle mám, vždyť je to součást tutoriálu, ovšem nefunguje to. Kód se provede, protože invalidace tabulky s výpisem úkolů proběhne, ovšem ve formuláři hodnoty zůstanou.
- thunderbuff
- Člen | 164
Tak tam asi budeš mít něco, to nastaví zpátky původní hodnoty. Zkus jsem zkopírovat svůj kód.
- zizka
- Člen | 11
thunderbuff napsal(a):
Tak tam asi budeš mít něco, to nastaví zpátky původní hodnoty. Zkus jsem zkopírovat svůj kód.
Celý zdrojový kód je tady: https://github.com/…-todo/tree/7. Ten jsem si vzal, zkopíroval na web, upravil informace o databázi, načisto jsem tabulky znovu vytvořit a naimportoval do nich data. A funguje všechno, kromě zmíněného mazání formuláře.
- martin-army
- Člen | 6
Ja prave delam tutorial a narazil jsem na podobny problem s AJAXem.
Me se vubec neprekresli seznam ukolu, abych videl nove vytvoreny.
Abych ho prekreslil, musim kliknout na jmeno seznamu ukolu. Pak novy ukol vydim
v seznamu, takze to tlacitko Vytvorit neco dela.
- Šaman
- Člen | 2666
U mě to dělá taky (nezkoušel jsem tvůj projekt, ale došel jsem ke
stejné chybě).
Nette 2.1d-dev (staženo 17.11.2013), vojtech-dobes / nette.ajax.js
(18.11.2013).
Netušíte někdo, kde je zakopán pes?
//Edit: Tak vyřešeno – u mě to nastalo při odesílání formuláře
uvnitř komponenty a následně jsem invalidoval celou komponentu. Což
nefungovalo. (I když nevím proč..?)
Zjistil jsem ale, že pokud se odkážu na presenter a invaliduji snippet který
komponentu obsahuje, funguje všechno jak má.
Editoval Šaman (19. 11. 2013 7:37)