@lesmanora

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

Всем привет! Перерыла все источники информации и так не поняла... Как после отправки формы вызвать модальное окно?

Форма


<form class="forma" action="order.php" method="post">
  <div class="form-row">
    <div class="form-group col-md-6">
      <input type="text" name="name" class="form-control" id="name" placeholder="Имя">
    </div>
    <div class="form-group col-md-6">
      <input type="text" name="fio" class="form-control" id="fio" placeholder="Фамилия">
    </div>
  </div>
  <div class="form-row">
    <div class="form-group col-md-6">
      <input type="tel" name="phone"  class="form-control" id="phone" placeholder="Номер телефона">
    </div>
    <div class="form-group col-md-6">
      <input type="email" name="email" class="form-control" id="email" placeholder="Электронная почта">
    </div>
  </div>
  <div class="form-group">
    <textarea type="text" name="text" class="form-control" placeholder="Комментарии/вопросы"></textarea>
  </div>
  
  <button type="submit" class="btn btn-primary" >отправить</button>
</form>



Php:


<?php


$to = "lesmanora@mail.ru"; // емайл получателя данных из формы 
$tema = "Форма обратной связи на PHP"; // тема полученного емайла

$message .= "Имя: ".$_POST['name']."<br>";
$message .= "Фамилия: ".$_POST['fio']."<br>";
$message .= "Телефон: ".$_POST['phone']."<br>";
$message .= "Email: ".$_POST['email']."<br>";
$message .= "Комментарий: ".$_POST['text']."<br>"; 

$headers  = 'MIME-Version: 1.0' . "\r\n"; // заголовок соответствует формату плюс символ перевода строки
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; // указывает на тип посылаемого контента
mail($to, $tema, $message, $headers); //отправляет получателю на емайл значения переменных



header("Location: index.html#myModal");
    exit;

?>




Модальное окно:

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">

      <div class="modal-body">
        <p>Спасибо!</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Закрыть</button>
      </div>
    </div>
  </div> 
</div>

  • Вопрос задан
  • 442 просмотра
Решения вопроса 1
glaphire
@glaphire Куратор тега PHP
PHP developer
Модальное окно это не часть основного лейаута страницы, это то, что управляется дополнительными параметрами, образно.
Урл вида index.html#myModal - это ссылка с прокрутной до якоря страницы, это прокрутка до ссылки, а не до элемента с id myModal. Модалку можно показать средствами javascript.
Обычно есть два подхода - отправка формы по ajax, после успешной обработки - показ модалки, и отправка формы обычным способом и перенаправление на другую страницу с текстом о том, что форма успешно отправлена. Если хотите показывать модалку так как сейчас, то странице надо пробросить куку или get-параметр, с привязкой к которым можно прописать js, который будет показывать эту форму.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы