Задать вопрос
@UncleMisha

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

Суть такая: у меня есть две формы:
Форма №1
<form enctype="multipart/form-data" method="post" id="form1">
						<h1>Заказать бесплатный звонок</h1>
						<p>заполните форму и мы перезвоним вам в течение 5 мин</p>
						<input type="hidden" name="form_subject" value="Клиент заказал бесплатный звонок">
						<input type="hidden" name="source" value="<?php echo isset($_GET['utm_source']) ? $_GET['utm_source'] : '' ;?>" />
						<input type="hidden" name="medium" value="<?php echo isset($_GET['utm_medium']) ? $_GET['utm_medium'] : '' ;?>" />
						<input type="hidden" name="campaign" value="<?php echo isset($_GET['utm_campaign']) ? $_GET['utm_campaign'] : '' ;?>" />
						<input type="hidden" name="content" value="<?php echo isset($_GET['utm_content']) ? $_GET['utm_content'] : '' ;?>" />
						<input type="hidden" name="term" value="<?php echo isset($_GET['utm_term']) ? $_GET['utm_term'] : '' ;?>" />
						<input type="text" name="name" placeholder="Ваше имя" required><br>
						<input type="text" name="phone" placeholder="Контактный телефон"><br>
						<button type="submit" class="btn btn-success">Заказать бесплатный звонок</button>
					</form>

Форма №2
<form enctype="multipart/form-data" method="post" id="form2">
						<h1>Заполните форму</h1>
						<p>и скачайте планировку квартир за 1 минуту</p>
						<input type="hidden" name="form_subject" value="Клиент скачал презентацию">
						<input type="hidden" name="source" value="<?php echo isset($_GET['utm_source']) ? $_GET['utm_source'] : '' ;?>" />
						<input type="hidden" name="medium" value="<?php echo isset($_GET['utm_medium']) ? $_GET['utm_medium'] : '' ;?>" />
						<input type="hidden" name="campaign" value="<?php echo isset($_GET['utm_campaign']) ? $_GET['utm_campaign'] : '' ;?>" />
						<input type="hidden" name="content" value="<?php echo isset($_GET['utm_content']) ? $_GET['utm_content'] : '' ;?>" />
						<input type="hidden" name="term" value="<?php echo isset($_GET['utm_term']) ? $_GET['utm_term'] : '' ;?>" />
						<input type="text" name="name" placeholder="Ваше имя" required><br>
						<input type="text" name="phone" placeholder="Контактный телефон" required><br>
						<button type="submit" class="btn btn-success">Скачать презентацию</button>
						<p style="padding-top: 30px;"><span style="border-bottom: 1px solid #000;">328</span> человек скачали презентацию планировок</p>
					</form>


И JS:
$('form').trigger('reset');
				$(function() {
					'use strict';
					$('form').on('submit', function(e) {
						e.preventDefault();
						alert('Наш менеджер в скором времени свяжется с вами!');
						$.ajax({
							url: 'send.php',
							type: 'POST',
							contentType: false,
							processData: false,
							data: new FormData(this),
							success: function(msg) {
								console.log(msg);
								if (msg == 'ok') {

          $('#form').trigger('reset'); // очистка формы
        } else {
        	alert('Ошибка');
        }
      }
    });
					});
				});


Теперь вопрос обработчик берет все формы с сайта $('form').trigger('reset'); и после нажатия на кнопку submit выдает данное сообщение
alert('Наш менеджер в скором времени свяжется с вами!');
. Вопрос: как сделать так, что-бы после заполнения формы у каждой формы открывался свой popap? Допустим заполнил форму "id="form1" и открылся ".popap1", а если заполнил форму "id="form2" то открылся ".popap2".
  • Вопрос задан
  • 2045 просмотров
Подписаться 1 Средний 3 комментария
Решения вопроса 2
$('form').trigger('reset');
        $(function() {
          'use strict';
          $('form').on('submit', function(e) {
            e.preventDefault();
            alert('Наш менеджер в скором времени свяжется с вами!');

            var popupClass = $(this).attr('id').replace('form', 'popup');

            $.ajax({
              url: 'send.php',
              type: 'POST',
              contentType: false,
              processData: false,
              data: new FormData(this),
              success: function(msg) {
                console.log(msg);
                if (msg == 'ok') {
                    console.log('Нужный класс попапа: ' + popupClass);
                    $('#form').trigger('reset'); // очистка формы
        } else {
        	alert('Ошибка');
        }
      }
    });
          });
        });
Ответ написан
Комментировать
alams_stoyne
@alams_stoyne
Full Stack Developer - #PHP #CSS #JS #DB
$('form').trigger('reset');
        $(function() {
          'use strict';
          $('form').on('submit', function(e) {
            e.preventDefault();
if($(this).attr('id') == 'form1'){alert('Наш менеджер в скором времени свяжется с вами form1!');}
if($(this).attr('id') == 'form2'){alert('Наш менеджер в скором времени свяжется с вами form2!');}
            $.ajax({
              url: 'send.php',
              type: 'POST',
              contentType: false,
              processData: false,
              data: new FormData(this),
              success: function(msg) {
                console.log(msg);
                if (msg == 'ok') {

          $('#form').trigger('reset'); // очистка формы
        } else {
        	alert('Ошибка');
        }
      }
    });
          });
        });
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы