AjaxForm не запускает jGrowl Решено

Дополнение: AjaxForm, Tickets, 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, 09:54    Василий Столейков   G+  
2    1031 0

Комментарии (19)

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

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

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

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

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

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

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

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