Proč se nevymaže formulář po odelsání ajaxem a jak toho docílit?

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

Zdravím,
rád bych se zeptal proč se nevymaže formulář po odelsání ajaxem?
V šabloně mám

{snippet a}
	{control form}
	...
	...
{/snippet}

a v $form->onSuccess[] = $this->addGuestFormSucceeded;

$model->doSomething();
if($this->isAjax()){
	$this->redrawControl ('a');
} else $this->redirect('this');

Myslel jsem si, že se překreslí celý snippet, tj. vytvoří se znovu komponenta form, která nikde nemá setDefaults(), nebo tak něco.

Jak docílit smazání formuláře? Zkoušel jsem $this['form']->setDefaults([]); před redraw, ale to nefunguje.

Díky za vysvětlení.

David Matějka
Moderator | 6445
+
0
-

musis pouzit ->setValues([]) namisto setDefaults

thm
Člen | 147
+
0
-

Díky za tip, bohužel ani tak to nefunguje – formulář zůstává vyplněn. Pokud by mělo pokusím se to najít, psal jsem zde nejnutnější kód.

David Matějka
Moderator | 6445
+
0
-

jo vlastne, musis ->setValues([], TRUE) druhy argument je erase a rika, ze ostatni inputy se maji vymazat

thm
Člen | 147
+
0
-

Funguje, díky moc za rychlé odpovědi. Přestože si myslím, že jsem toto také zkoušel (na fóru jsem našel jedno starší vlákno).