LINUX.ORG.RU

Как вызвать Popup после отправки формы?

 , , ,


0

2

Предположим, есть такая форма:

    <form  action="calc.php" method="post">
        <input type="number" name="n1" placeholder="*n1" required>
        <input type="number" name="n2" placeholder="*n2" required>

        <input type="submit" name="send" value="Отправить">
    </form>

Как открыть всплывающее окно (например Magnific Popup) при успешной отправке формы?

По ссылке открывается оно так:

<a href="path-to-file.html" class="ajax-popup-link">Show inline popup</a>

$('.ajax-popup-link').magnificPopup({
  type: 'ajax'
});

А как это дело на onsubmit повесить?

★★

Устанавливаем обработчик на событие submit формы. В нем отменяем отправку формы с переходом на страницу, указанную в action через e.preventDefault(); в нашем обработчике. Там же делаем Ajax-запрос, вешаем обработчики на успех и провал (для вывода ошибок). В обработчике на успех выводим окошко.

Я так выводил ошибки:

var request = $.get('/calc.php');

                        request.done(function (data) {
                            // тут выводите свое окошко
                        });

                        // если код ответа сервера отличается от 200
                        request.fail(function (data) {
                            alert('Ошибка Ajax: ' + data.status + ' ' + data.statusText);
                        });

Razip ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.