Nittro – persistentní parametr → form submit

Aishak
Člen | 30
+
+1
-

Zdravím,

narazil jsem na (pro mne) zajímavý problém.

Na FE mám 5 radio buttonů a na ně navázanou akci v JS, která nastavuje persistentní parametr $agenda (BasePresenter):

<script>
$('input[type=radio][name=agenda]').on('change', function () {
	_context.invoke(function (di) {
    	var page = di.getService('page');
        page.open({link changeAgenda!}, 'GET', {
        	agenda: $('input[type=radio][name=agenda]:checked').val()
        }, {
        	history: false
        });
	});
});
</script>
<?php
public function handleChangeAgenda($agenda) {
	$this->agenda = $agenda;
    $this->redrawControl('agendaSnippet');
    $this->postGet('this');
}
?>

V tomto případě se stránka překresluje dle vybrané agendy, nicméně URL se nemění dle persistentního parametru. Toho lze docílit odebráním history: false. S takovou funkčností bych byl spokojený, ale následně vznikne problém pokud v dané agendě odešlu formulář.
V takovém případě se se překreslí agendaSnippet, aby se projevily změny. Nicméně se snippet překreslí s agendou, která byla výchozí při načtení stránky. Já samozřejmě chci, aby se mi snippet překreslil s aktuální agendou. Vypadá to, že ačkoliv se persistentní parametr $agenda na první pohled překreslí tak ve skutečnosti zůstává takový jaký byl po prvním načtení stránky.

Nevěděl by prosím někdo co s tím?
Děkuji

Editoval Aishak (21. 6. 2019 21:09)

Václav Kraus
Člen | 77
+
0
-

Ahoj, zkus se zeptat na https://forum.nittro.org/

F.Vesely
Člen | 368
+
0
-

U formulare nezalezi na URL v prohlizeci, ale na URL v jeho parametru action. Budes muset tedy prekreslit i ten formular.