Сабж, есть рабочая версия отправки формы, но она работает только на декстопе. Нужно чтобы работало на мобильной версии сайта тоже. Как это исправить?
Ссылка на пациента
$(document).ready(function() { // вся магия после загрузки страницы
$("form").submit(function(){ // перехватываем все при событии отправки
var form = $(this); // запишем форму, чтобы потом не было проблем с this
var error = false; // предварительно ошибок нет
if (!error) { // если ошибки нет
var data = form.serialize(); // подготавливаем данные
$.ajax({ // инициализируем ajax запрос
type: 'POST', // отправляем в POST формате, можно GET
url: '../send.php', // путь до обработчика, у нас он лежит в той же папке
data: data, // данные для отправки
beforeSend: function(data) { // событие до отправки
form.find('input[type="submit"]').attr('disabled', 'disabled'); // например, отключим кнопку, чтобы не жали по 100 раз
},
success: function(data){ // событие после удачного обращения к серверу и получения ответа
if (data['error']) { // если обработчик вернул ошибку
alert(data['error']); // покажем её текст
} else { // если все прошло ок
alert('Ваше письмо отправлено'); // пишем что все ок
if(form.parent().parent().find('.vacancy-button')[0])
{
form.parent().parent().find('.vacancy-button').fadeIn('fast');
$('.message-form').fadeOut('fast');
}
else
{
form.parent().parent().find('.button-form').fadeIn('fast');
$('.message-form').fadeOut('fast');
}
}
},
error: function (xhr, ajaxOptions, thrownError) { // в случае неудачного завершения запроса к серверу
alert(xhr.status); // покажем ответ сервера
alert(thrownError); // и текст ошибки
},
complete: function(data) { // событие после любого исхода
form.find('input[type="submit"]').prop('disabled', false); // в любом случае включим кнопку обратно
}
});
}
return false; // вырубаем стандартную отправку формы
});
});