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

Как отправить email через форму на сайте ajax + mail() php в браузере IE8?

Есть код формы
<form id="form" name="mail" class="w95 t-black b-center">
    <label>
        <span class="t-left t-white">Опишите что Вам нужно в свободной форме</span>
        <textarea name="text" class="w100"></textarea>
    </label>
    <label>
        <span class="t-left t-white">VIN-номер</span>
        <input type="text" name="VIN" class="w100">
    </label>
    <label>
        <span class="t-left t-white">Как к Вам обращаться?</span>
        <input type="text" name="name" class="w100" required="required">
    </label>
    <label>
        <span class="t-left t-white">Ваш телефон для связи</span>
        <input type="text" name="phone" class="w100">
    </label>
    <input type="submit" value="Заказать звонок" class="button w95 bg-green upper mar10-t t-white">

</form>

Код js, который вешает событие и передаёт данные в send.php
"use strict";
// ждём, пока документ загрузится
$(document).ready(function(){

    // отправка сообщения
  $("#form").submit(function() { //устанавливаем событие отправки для формы с id=form
    var form_data = $(this).serialize(); //собераем все данные из формы
    $.ajax({
      type: "POST", //Метод отправки
      url: "assets/send.php", //путь до php фаила отправителя
      data: form_data,
      success: function () {
        //код в этом блоке выполняется при успешной отправке сообщения
        alert("Ваше сообщение отпрвлено!");
      }
    });
  });
});

php скрипт, принимающий данные и отправляющий их через функцию mail
<?
if((isset($_POST['name'])&&$_POST['name']!="")&&(isset($_POST['phone'])&&$_POST['phone']!="")){ //Проверка отправилось ли наше поля name и не пустые ли они
        $to = '*****'; //Почта получателя, через запятую можно указать сколько угодно адресов
        $subject = 'Запчасти - Обратный звонок'; //Загаловок сообщения
        $message = '
                <html>
                    <head>
                        <title>'.$subject.'</title>
                    </head>
                    <body>
                        <p>Имя: '.$_POST['name'].'</p>
                        <p>Телефон: '.$_POST['phone'].'</p>                        
                        <p>Текст: '.$_POST['text'].'</p>
                        <p>VIN: '.$_POST['VIN'].'</p>
                    </body>
                </html>'; //Текст нашего сообщения можно использовать HTML теги
        $headers  = "Content-type: text/html; charset=utf-8 \r\n"; //Кодировка письма
        $headers .= "From: ***** <*****@******>\r\n"; //Наименование и почта отправителя
        mail($to, $subject, $message, $headers); //Отправка письма с помощью функции mail
}
?>


В chrome/mozilla всё работает шикарно, но в IE8-10 не происходит ничего.
  • Вопрос задан
  • 418 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
27cm
@27cm
TODO: Написать статус
jQuery 2.x has the same API as jQuery 1.x, but does not support Internet Explorer 6, 7, or 8. <...> Since IE 8 is still relatively common, we recommend using the 1.x version unless you are certain no IE 6/7/8 users are visiting the site. jquery.com/download


jquery.com/browser-support
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
R0dger
@R0dger
Laravel/Yii/2 AngularJs PHP RESTful API
Откройте консоль браузера и посмотрите, есть ли ошибки.. копать в сторону JavaScript
Ответ написан
Ваш ответ на вопрос

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

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