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
1
5 996
0
Поблагодарить автора Отправить деньги

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

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

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

    Но откатить 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
      0
      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
        1
        0
        Сейчас видимо мне нужно будет искать старые версии AjaxForm и Tickets, чтобы попробовать откатиться на них…
          Василий Наумкин
          03 ноября 2016, 10:28
          0
          facepalm.jpg

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

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

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

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

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

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