psixodyb
@psixodyb
Хочу, чтобы мой сын стал полубогом Frontend'a

Jquery+ajax+php отправка формы на почту. Как сделать мобильную версия?

Сабж, есть рабочая версия отправки формы, но она работает только на декстопе. Нужно чтобы работало на мобильной версии сайта тоже. Как это исправить?
Ссылка на пациента
$(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; // вырубаем стандартную отправку формы
    });
});
  • Вопрос задан
  • 5394 просмотра
Решения вопроса 1
edli007
@edli007
full stack, team lead
Это где угодно, но только не здесь.
$("form").submit
он что на мобильном браузере, что на декстопе работает.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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