@Valentine13

Почему скрипт работает не во всех браузерах?

На сайте имеется простейшая форма, обрабатываемая следующим скриптом
$(document).ready(function () {
    // Добавление нового подписчика
    $('#form_add_sellers').on('submit', function (e) {
        e.preventDefault();
        var $email = $('#subscription_email').val();
        $.post('/renovation/sub.php', {email: $email}, function (data) {
            console.log(data);
            if (data == 1) {
                $('#shadow').show();
                $('#subscriber_popup_after_submit').show();
            }else if (data == 2) {
                alert('Некорректно заполнено поле email');
            }else if (data == 0){
                alert('Пользователь с таким email уже существует');
            }            
        }, 'text').fail(function () {
            alert('Ошибка! Данные не сохранены, перезагрузите страницу и попробуйте снова!');
        });
    });
    $('body').on('click', '#popup_close, #shadow', function() {
        $('#shadow').hide();
        $('#subscriber_popup_after_submit').hide();
    });


Сама форма имеет вид:
<div id="shadow"></div>    
<div id="subscriber_popup_after_submit">
         <div id="popup_close">X</div>
         <h2>Поздравляем! Вы были успешно подписаны</h2>
</div>
<form id="form_add_sellers" method="post">                  
      <input placeholder="E-mail" type="text" name="email" id="subscription_email">
      <button id="subscriber_reg_submit" type="submit">ПОЛУЧАТЬ</button>
</form>


На компьютере с windows 10 и браузером Chrome все работает, как надо.
На планшете apple с iPadOS 14.8 в браузере Safari никакое нажатие на кнопку ни alert, ни вывод "subscriber_popup_after_submit" не вызывает. Похоже, что submit вообще не срабатывает. Но если перейти в режим инкогнито в браузере, то все прекрасно работает. Такая же история с браузером chrome на телефоне с Android 10 (MIUI 12) - все работает только в режиме "инкогнито". Вариант, что у меня и на телефоне, и на планшете отключена поддержка скриптов, вряд ли возможен, потому что помимо формы на странице имеются и fancybox-галереи, и слайдеры, и вообще много всего. В хэде подключена библиотека jquery:
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/jquery-migrate-1.4.1.min.js"></script>

Сложность еще в том, что ресурсы телефона не позволяют там отладку проводить.
Подскажите, в чем вообще может быть проблема?
  • Вопрос задан
  • 183 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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