A
A
Alexey2015-10-30 08:27:01
PHP
Alexey, 2015-10-30 08:27:01

How to send email via form in ajax + mail() php site in IE8 browser?

There is a form code

<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>

The js code that hangs the event and passes the data to 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 script that accepts data and sends it via the mail function
<?
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
}
?>


Everything works great in chrome/mozilla, but nothing happens in IE8-10.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
C
Cat Anton, 2015-10-30
@Qwal

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

A
Andrew, 2015-10-30
@R0dger

Open your browser console and see if there are any errors.. dig towards JavaScript

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question