Formular v komponente + ajax + <do> v route = nefunkcni formular

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

Ahoj,

resim zrovna „zkraslovani“ rout a narazil jsem na zvlastni chybu pri urcite kombinaci.

Mam presenter, v nem komponentu, a ta ma vlastni Form. Komponenta ma x dalsich ruznych handle a ty jsem si chtel prelozit pres parametr <do> v route do nejake hezci podoby.

Vsechny linky funguji za vsech okolnosti jak maji (bez / s ajaxem). Problem je vsak s formularem.

$frontRouter[] = new Route('<slug>[/<do>]', array(
	'action' => 'default',
     NULL => array(
		Route::FILTER_IN => function (array $params) {
			}
	atd ......

Pokud se Form neposila pres ajax – OK

Pokud se Form posila pres ajax (class="ajax") – Neprovede se onSuccess[] metoda formulare, nevrati se JSON, ale cela stranka

Pokud se Form posila pres ajax a odstrani se z routy [/<do>]- OK, vrati se JSON se snippety

Muze me nekdo nakopnout spravnym smerem, co upravit, aby to s tim ajaxem a <do> fungovalo?

Diky

Editoval Kori (20. 7. 2015 14:46)

Jan Mikeš
Člen | 771
+
0
-

O jakou verzi nette se jedna? Mam pocit ze v novejsich verzich se uz pri odesilani formulare parametr „do“ do routy nepridava.

David Matějka
Moderator | 6445
+
+3
-

Hm, problem bude tady, mozna by stacilo prepsat ten elseif na if… zitra na to kouknu, jestli nekdo nebude rychlejsi
jako hotfix by mohlo stacit dat do FILTER_IN

function ($params) {
	if ($params['do'] === NULL) {
		unset($params['do']);
	}

	return $params;
}
Kori
Člen | 73
+
0
-

2.3.3

Kori
Člen | 73
+
0
-

Super, funguje, diky moc

Editoval Kori (20. 7. 2015 15:17)

David Matějka
Moderator | 6445
+
0
-

mimochodem, poslal uz jsem pr s opravou https://github.com/…tion/pull/86