Nittro – persistentní parametr → form submit
- Aishak
- Člen | 30
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)