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
1
2 100
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
                      Не нашел сам, поэтому и попросил напомнить..
                      Но это уже не так интересно чтобы на это тратить время, есть много других дел. Работает — и хорошо!
                      Если ситуация повторится где-то на другом сайте, тогда буду копать.

                      Извини, что отнял у тебя время и спасибо что отозвался, в данном случае проблема решена!