Для закрытия модального окна при отправке формы в MODX, вы можете использовать JavaScript в сочетании с jQuery.
1. В шаблоне MODX, где вы определяете модальное окно, создайте функцию closeModal()
, которая будет закрывать окно. Например:
<script> function closeModal() { $('.modal').fadeOut(); } </script>
2. В HTML-разметке формы добавьте onsubmit
атрибут, который будет вызывать функцию closeModal()
при отправке формы. Например:
<form onsubmit="closeModal()"> <!-- Ваши поля формы --> <input type="submit" value="Отправить"> </form>
3. Вставьте следующий скрипт в ваш файл сценария на MODX:
$(document).ready(function() { $('form').on('submit', function(event) { event.preventDefault(); // Отменяем отправку формы по умолчанию $.ajax({ url: "URL_ВАШЕГО_РАЗДЕЛА_Обработчика_Формы", method: "POST", data: $(this).serialize(), // Сериализуем данные формы }) .done(function(response) { // Здесь вы можете добавить любую обработку успешной отправки формы closeModal(); // Закрываем модальное окно после отправки формы }) .fail(function(response) { // Здесь вы можете обработать ошибки отправки формы }); }); });
4. Замените URL_ВАШЕГО_РАЗДЕЛА_Обработчика_Формы
на URL обработчика формы на вашем сайте, который будет принимать и обрабатывать данные формы.
Теперь, когда пользователь отправляет форму, модальное окно будет закрыто с помощью функции closeModal()
, а данные будут отправлены на сервер в фоновом режиме. Вы можете дополнить скрипт обработкой успешной отправки или ошибок, в зависимости от ваших потребностей.