vymazání formuláře po odeslání ajaxem

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

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
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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.

zizka
Člen | 11
+
0
-

Nemohl byste třeba někdo prosím zkusit, jestli vám ten projekt z tutoriálu funguje? Aby se dalo zjistit, jestli je chyba v tutoriálu a nebo u mně?

martin-army
Člen | 6
+
0
-

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
+
0
-

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)