@parhimblr

Как вывести красивое сообщение после отправки php формы?

Доброго всем здоровья!
Друзья, помогите советом, как красиво вывести сообщение после отправки формы на почту.
Сделал, но выводится только текст в браузером окне, да еще с дополнительной надписью:
5ea063249b45f217498150.jpeg
html
<div class="form">
            <div class="title">Заказать консультацию</div>
            <form  action="#" id="mainorder-form" method="post">
                <input type="hidden" name="type" value="Заказ на обратный звонок" />
                <div class="form_item">
                    <input type="text" name="name" required="required" placeholder="Ваше имя"/>
                </div>
                <div class="form_item">
                    <input type="text" name="phone" required="required" placeholder="Телефон"/>
                </div>
                <img alt="" border="0" src="servis/files/img/arrow.png" style="position: absolute; margin: -8px 0px 0px -48px;"/>
                <input class="btn" type="submit" value="Отправить заказ"/>
            </form>
        </div>


js
//обработка формы
    var forms = document.querySelectorAll('form');
    for (var i = 0; i < forms.length; ++i) {
        var form = forms[i];  
        form.addEventListener('submit', function(e){
            var title = this.previousElementSibling.innerText;
            var data = [$(this).serialize(),$.param({title: title})].join('&')

            sendEmail(data);

            e.preventDefault();
            this.reset();

        });
    }




//функция отправки письма
  function sendEmail(data) {
    $.ajax({
      type: 'POST',
      url: '/send.php',
      async: false,
      data: data,
      success: function (result) {
        alert(result);
      },
      error: function (xhr, str) {
        alert("Возникла ошибка!");
      }
    });
  }

});


php
<?php

$post = (!empty($_POST)) ? true : false;

if($post) {
$phone = trim($_POST['phone']);
$name = trim($_POST['name']);
$title = trim($_POST['title']);

$subject ="Новая заявка с сайта eurozabor.rotacon.by";


$message ="<b>Имя:</b> ".$name."<br><b>Телефон:</b> " .$phone. "<br><b>Наименование формы:</b> " .$title;

$header = "Content-type: text/html; charset=utf-8\n";

$header .= "From: eurozabor.rotacon.by <admin@eurozabor.rotacon.by>";	

$mail = mail("3456750@gmail.com", $subject, $message, $header);

if($mail)
{
echo 'Ваша заявка отправлена успешно!';
} else {
echo 'Ошибка отправки, попробуйте еще раз!';
}

} else {
echo 'Не заполнены поля все поля!';
}
?>


Спасибо! Сильно не ругайтесь, но такой уж я самоучка-недоучка))
  • Вопрос задан
  • 4681 просмотр
Решения вопроса 1
mr_qpdb
@mr_qpdb
⏱ - is not eternal
Можно вывести через JQuery
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@parhimblr Автор вопроса
Ребят. Чуть подробнее можно? Что куда допилить...
Ответ написан
@kkbur
Первое, создай окошечко с нужным дизайном используя HTML и CSS в конце документа, только скрой его указав display: none в CSS
Затем, вместо твоего alert(result); сделай $("твой селектор окошка").show();
Но так же надо будет создать кнопочку "закрыть" или крестик, для этого создай через HTML и CSS эту кнопку и в JS создай событие: $("селектор кнопки").on("click", e => $("селектор окошка").hide());

alert(); это нативная функция JS, она вызывает окошко, которое не редактируется и в разных браузерах выглядит по-разному. Вместо этого ты можешь создать свою фунцию, которая будет делать подобное

Мой ответ подразумевает что ты имеешь небольшие знания HTML + CSS, пиши что не понятно
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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