К содержанию

AjaxForm не запускает jGrowl

Перестали работать все формы на сайте, а точнее формы валидируются, отправляются, но не работает jGrowl-уведомления о ошибках или успешной отправке.

Не работают уведомления ни для AjaxForm, ни для Tickets-комментариев.

  1. Не могу определить после чего это случилось, возможно обновил какой-то компонент (AjaxForm, Formit, Tickets, pdoTools). К сожалению не могу откатить на прежние версии из-за привычки сразу очищать их после обновления...
  2. Ошибок в консоли нет. В логах тоже нет.
  3. Отключал абсолютно все сторонние скрипты. оставлял только последний jQuery — не помогает.
  4. Отключал-подключал MinifyX — не помогает.
  5. Отключал все плагины, удалял все дополнения кроме AjaxForm и Formit — не помогает.
  6. Запускаю для проверки просто jQrowl-сообщение как предлагается в документации:
    <script>
        AjaxForm.Message.success('Зеленый popup');
    </script>
    выводит в консоль ошибку:
    (index):422 Uncaught ReferenceError: AjaxForm is not defined(…)
  7. Такой же вариант не выводит ничего в консоль, но тоже не запускается…
    <script>
    $(document).ready(function() {
        AjaxForm.Message.success('Зеленый popup');
    });
    </script>
  8. Просто подключение файла assets/components/ajaxform/js/lib/jquery.jgrowl.min.js тоже ничего не даёт.
Что случилось с уведомлениями? Как мне запустить jQrowl?
Василий Столейков
Василий Столейков
03 ноября 2016, 06:54
modx.pro
6 655
Реклама

Комментарии: 19

Василий Наумкин
Василий Наумкин Администратор
03 ноября 2016, 10:00
последний jQuery
modx.pro/help/10208/

Видимо, очень нужно взять и обновить jQuery на рабочем сайте?
    Василий Столейков
    Василий Столейков Проверенный
    03 ноября 2016, 10:08
    Спасибо за наводку, сейчас попробую что-то сделать.

    Но откатить jQuery не совсем вариант, хотя попробую на пару версий откатить.

    Просто этот сайт был очень древний, ещё на первых версиях Revo. Задача была его обновить и добавить новый функционал. Так вот как раз новый функционал и конфликтовал с старой версией jQuery.

    P.S. Хотя если подумать, у меня ведь подключён jquery-migrate — неужели он не решает этой проблемы с size()?
    <script type="text/javascript" src="assets/templates/teplo/js/jquery-3.1.1.min.js"></script>
    <script type="text/javascript" src="assets/templates/teplo/js/jquery-migrate-1.4.1.min.js"></script>
      Василий Столейков
      Василий Столейков Проверенный
      03 ноября 2016, 10:26
      1. Сайт jquery.com не предоставляет jQuery меньше версии 3.0, а как я понял именно с этой версии начинаются проблемы. Нашел я у них архив версий, но при подключении code.jquery.com/jquery-2.2.4.min.js проблема не решилась (и с migrate и без него).
      2. Заменил я файлы jgrowl от AjaxForm и Tickets последней версией с гитхаба raw.githubusercontent.com/stanlemon/jGrowl/master/jquery.jgrowl.min.js, но и это ничего не дало.

      Самое интересное, что обновил я jQuery до последней версии ещё месяц назад, и после этого jGrowl-сообщения работали и я разрабатывал новые функционалы. Перестали работать только пару дней назад после обновлений компонентов наверное…
        Василий Столейков
        Василий Столейков Проверенный
        03 ноября 2016, 10:27
        Сейчас видимо мне нужно будет искать старые версии AjaxForm и Tickets, чтобы попробовать откатиться на них…
          Василий Наумкин
          Василий Наумкин Администратор
          03 ноября 2016, 10:28
          facepalm.jpg

          Конечно, ошибки во всех дополнениях, а не в твоём новом функционале.
            Василий Столейков
            Василий Столейков Проверенный
            03 ноября 2016, 10:34
            Ок, спасибо за подталкивания. Буду по очереди отключать всё что я делал в последние дни…
          Василий Наумкин
          Василий Наумкин Администратор
          03 ноября 2016, 10:28
          Перестали работать только пару дней назад после обновлений компонентов наверное…
          Угу, во всех компонентах сразу — обычное же дело.

          Чисти кэш, смотри ошибки в консоли браузера.
            Василий Столейков
            Василий Столейков Проверенный
            03 ноября 2016, 10:33
            — Кэш сайта и браузера я чищу после каждого действия.
            — Консоль я мониторю тоже регулярно, но как и писал там пусто.
              Василий Наумкин
              Василий Наумкин Администратор
              03 ноября 2016, 10:39
              То есть, jGrowl не работает, но в консоли браузера при этом нет ошибок?

              Что-то не верится, только если ты не переписал вообще все скрипты используемых дополнений. Кстати, а может он работает, просто что-то с CSS — вот и не видно всплывашек?
                Василий Столейков
                Василий Столейков Проверенный
                03 ноября 2016, 10:42
                Ты абсолютно прав!!!
                Спасибо! Вижу в коде перед закрывающим тегом body происходит движение и появляется нужная всплывалка, только она в дизайне не видна. Видно верстальщик что-то намудрил, сейчас буду разбираться с этим…
                Спасибо ещё раз за помощь!!!
                  Илья Уткин
                  Илья Уткин Администратор
                  03 ноября 2016, 10:45
                  Блин, мне до такого уровня экстрасенсорных способностей ещё расти и расти…
                    Василий Столейков
                    Василий Столейков Проверенный
                    03 ноября 2016, 10:47
                    Ага, я тоже постоянно поражаюсь этому ))))
                    Василий Столейков
                    Василий Столейков Проверенный
                    03 ноября 2016, 10:46
                    Действительно, почему-то не подключался файл assets/components/ajaxform/css/lib/jquery.jgrowl.min.css, подключил его в head вручную и всё заработало.

                    И почему он сам не подключался, может быть всё-таки при обновлении что-то? Я вроде бы не менял ничего в родных скриптах и плагинах…
                      Василий Наумкин
                      Василий Наумкин Администратор
                      03 ноября 2016, 10:48
                      Да ты поди default.css от AjaxForm не подключаешь, и он не подгружает стили jGrowl.
                        Василий Столейков
                        Василий Столейков Проверенный
                        03 ноября 2016, 10:52
                        Я должен его вручную подключать в коде???? o_O
                        Подключил вручную вместо jGrowl-стилей — assets/components/ajaxform/css/default.css, всё работает. Значит будет вручную подключен, спасибо…
                          Василий Наумкин
                          Василий Наумкин Администратор
                          03 ноября 2016, 10:53
                          Ну по идее (по идее), оно подключается автоматом. Но ты же мог и сам выключить это дело, из-за своего дизайна на сайте.
                            Василий Столейков
                            Василий Столейков Проверенный
                            03 ноября 2016, 10:56
                            Ага, и я так думаю что автоматом.
                            И ничего я не выключал (напомни, где выключается это дело чтобы я проверил), поэтому и удивился, поэтому и грешил на обновление компонента, хотя я до сих пор не знаю почему так было…
                              Василий Наумкин
                              Василий Наумкин Администратор
                              03 ноября 2016, 11:14
                              Давай ты уже дальше сам поразбираешься?

                              Напомни, ага…
                              Василий Столейков
                              Василий Столейков Проверенный
                              03 ноября 2016, 11:18
                              Не нашел сам, поэтому и попросил напомнить..
                              Но это уже не так интересно чтобы на это тратить время, есть много других дел. Работает — и хорошо!
                              Если ситуация повторится где-то на другом сайте, тогда буду копать.

                              Извини, что отнял у тебя время и спасибо что отозвался, в данном случае проблема решена!
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          19