Перезагрузить страницу после закрытия определенного мода - PullRequest
0 голосов
/ 10 мая 2018

У меня есть два модала на странице.Я только хочу обновить родительскую страницу после закрытия.Однако, даже если я добавлю код, оба модала обновят страницу после закрытия.Любая идея, почему?

<script>
    $(document.body).on('hidden.bs.modal', function () {
    $('#myModal').removeData('bs.modal');
    });
</script>

<script>
    $(document.body).on('hidden.bs.modal', function () {
    $('#myModal2').removeData('bs.modal');
    location.reload();
    });
</script>

Модальный 1 вызов:

<a data-toggle="modal" data-target="#myModal" href="modal_target.cfm?M=#MLink#" class="btn btn-#bg_color#">#CP#</a>

Модальный 2 вызов:

<a data-toggle="modal" data-target="#myModal2" href="modal_AmendCP.cfm?M=#MLink#" title="view details" class="btn btn-primary">#Measure#</a>

Спасибо за любую помощь!

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Вы должны выбрать точную модальность, чтобы добавить Event Listener если селектор «document.body», событие будет запущено для обоих. в вашем коде: функция, вызываемая для функции hidden.bs.modal, имеет значение

function () {
$('#myModal2').removeData('bs.modal');
location.reload();
}

заменить

function () {
$('#myModal').removeData('bs.modal');
}

потому что это объявлено позже.

0 голосов
/ 10 мая 2018

Обе ваши функции запускаются при одном и том же событии модального закрытия на $(document.body).

Вы должны изменить его на срабатывание только на модальных объектах:

<script>
    $('#myModal').on('hidden.bs.modal', function () {
    $('#myModal').removeData('bs.modal');
    });
</script>

<script>
    $('#myModal2').on('hidden.bs.modal', function () {
    $('#myModal2').removeData('bs.modal');
    location.reload();
    });
</script>

Из документации по начальной загрузке:

hidden.bs.modal : это событие вызывается, когда модал завершил скрытие от пользователя (будет ожидать завершения переходов CSS).

...