Nefunkční nette.ajax.js history API ve formuláři (na odkazu funkční)

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

Ahoj,
mám na stránce nalinkováno nette.ajax.js history API, ale funguje jen u odkazu. Odeslání formuláře nepřekreslí URL. Přitom, když kliknu na odkaz, kde history API funguje tak se překreslí URL tak jak má + se vloží do URL to co se mělo vložit v momentě odeslání formuláře…
Kod vypadá takhle:
presenter

function renderDefault()
{
	// ...
	if ($this->isAjax())
	{
		$this->invalidateControl('filter');
	}
}

sablona presenteru

{snippet filter}
	{control filter}
{/snippet}
...
<a class="ajax" id="next" n:href=":Frontend:Presenter: 2">Dotáhnout stránku</a>
...
{head}
<script type="text/javascript" src="{$basePath}/js/ajax/history/history.ajax.js"></script>
{/}

sablona formulare

{form form class=>'ajax'}
	{input author}
	{input country}
	{input type}
	{input send}
{/form}

Nemá někdo nějakej nápad?

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Pokud se dobře pamatuju (omlouvám se, sám nemám kde history.ajax.js používat), tak po po odeslání formuláře by se mělo přesměrovat, i při ajaxovém odeslání.

Oli
Člen | 1215
+
0
-

Teoreticky to může bejt ten problém. Já nikde nepřesměrovávám. Ten formulář odešle data pomocí GET a v presenteru se v nich pomocí $this->getHttpRequest()->getQuery() přehrabuju. Je možný, že to je tím, že se formulář nepřesměrovává?

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Určitě jo… pro GET formuláře by to chtělo asi přidat podporu.

Oli
Člen | 1215
+
0
-

Chapu to spravne, že tohle history API nepodporuje? :-)

Řešení které mě teda napadlo je posílat to pomocí post a formulář zpracovat tak, že přesměruje na tam kam potřebuju s parametrama tak aby to simulovalo ten get. Nebo je nějaký lepší řešení?

Oli
Člen | 1215
+
0
-

Nejde mě to ani s postem. Bez ajaxu to funguje dobře.

Mysteria
Člen | 797
+
0
-

Zdravím, chtěl bych se zeptat, jestli je už toto nějak vyřešeno, protože jsem narazil na stejný problém.

Oli
Člen | 1215
+
0
-

Nakonec jsem to tenkrát použil bez history api jen prostej ajax post.