BT3 Modla okno – zatvorenie po odoslaní formulára (ajax)
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- sepo
- Člen | 69
Ahoj
Ako na zavretie modal okna po ajaxovom odoslaní dát formulára?
Všetko ide ako má len v prípade po odoslaní cez ajax modla okno zmizne ale
celá stránka je neklikateľná.
default.latte
{block content}
{snippet myModalEmail}
{include '../components/modalEmail.latte'}
{/snippet}
{/block}
**modalEmail.latte**
<div class="modal fade" id="my-modal">
.... //prvky modal + {control contactFormEmail}
</div>
{ifset $openModal}
<script>
$('#my-modal').modal('show');
</script>
{/ifset}
**DefaultPresenter.php**
public function handleOpenModalEmail($id)
{
$this->template->openModal = TRUE;
$this->redrawControl('myModalEmail');
}
...
public function processContactFormEmail(Form $form)
{
$values = $form->getValues(TRUE);
.... //spracovanie dát
$this->flashMessage('Správa bola odoslaná');
if ($this->isAjax()) {
$this->redrawControl('myModalEmail');
$this->redrawControl('flashes');
} else {
$this->redirect('this');
}
}
- cubic
- Člen | 45
Nestačilo by prostě jenom rozšířit podmínku?
{ifset $openModal}
<script>
$('#my-modal').modal('show');
</script>
{else}
<script>
$('#my-modal').modal('hide');
</script>
{/ifset}
A nebo si to okno dát taky do té podmínky, pokud ho neotvíráš i jiným způsobem, jestli to teda funguje.