AjaxForm

Здравствуйте!
Прошу помощи — как мне отловить и исправить — калькулятор на главной работает mfgost.tmweb.ru/, а на отдельной странице никак даже шаблон не выстраивает.
http://mfgost.tmweb.ru/calculator.html - 
<html>
<head>
<script src="/assets/components/ajaxform/js/lib/jquery.form.min.js"></script>
<script src="/assets/components/ajaxform/js/lib/jquery.jgrowl.min.js"></script>
</head>
</html>
kalisto
23 мая 2017, 08:47
modx.pro
1 626
0

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

Максим Кузнецов
24 мая 2017, 12:56
+1
Шаблон то у вас формируется, но в процессе работы очищается.
Скорее всего, где-то здесь:
/assets/themekalisto-design/js/scripts.min.js
    kalisto
    24 мая 2017, 13:24
    0
    Дак я это вижу.
    [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
    А как отловить? И почему шаблон на главной не обнуляется? Там также /assets/themekalisto-design/js/scripts.min.js включается?
    Такое чувство конфликт в скриптах, но почему все те же скрипты и на главной участвуют и на calculator.html
    Но на главной работает а здесь нет.
      kalisto
      24 мая 2017, 13:57
      0
      Ошибка загрузки этого URL: Could not load the source for http://mfgost.tmweb.ru/assets/components/ajaxform/js/lib/jquery.jgrowl.js.
      [Exception... "Component returned failure code: 0x80470002 (NS_BASE_STREAM_CLOSED) [nsIInputStream.available]"  nsresult: "0x80470002 (NS_BASE_STREAM_CLOSED)"  location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/DevToolsUtils.js :: onResponse :: line 453"  data: no]
      Stack: onResponse@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/DevToolsUtils.js:453:23
      onStopRequest@resource://gre/modules/NetUtil.jsm:128:17
      Line: 453, column: 0
      Это в компоненте ajaxform — автор Василий Безумкин отключил все, чтобы ему писать свои вопросы и как быть?
      bezumkin.ru/sections/blog/3052/
      1. Я не отвечаю на вопросы через email. Просто удаляю письма, даже не вчитываясь.
      2. Я не отвечаю на вопросы и в социальных сетях. Не нужно писать мне комментарии под заметками, типа «извините, но я не нашел ваших контактов, поэтому пишу тут, срочно спасите-помогите». Просто задумайтесь, почему вы не нашли моих контактов, на секундочку.
      3. Я не беру никакие заказы на работу и не планирую начинать. Мне более чем достаточно тех обязательств, что я уже на себя взял.

      Где же можно задавать вопросы?

      1. Если вы приобрели какое-то моё дополнение в магазине — то в его поддержке. Такие вопросы у меня в приоритете, стараюсь отвечать максимально быстро, обычно в течении пары часов, а то и минут (если у меня сейчас день, конечно).
      2. Если дополнение бесплатное, то вопросы нужно задавать в нашем сообществе — modx.pro. Там не только я, там еще множество умных людей, которые могут вам помочь.
      3. В этом же сообществе можно и публиковать свои объявления о работе.
        Максим Кузнецов
        24 мая 2017, 14:02
        1
        +1
        А какой вопрос у вас возникает?

        mfgost.tmweb.ru/assets/components/ajaxform/js/lib/jquery.jgrowl.js — этого файла у вас нет, зато есть вот такой:
        mfgost.tmweb.ru/assets/components/ajaxform/js/lib/jquery.jgrowl.min.js

        Вы можете отредактировать его пути в подключаемом файле ajaxform (и попутно вынести его в другое место через параметр &frontend_css, чтобы ваше изменение не затерлось при обновлении) — и ошибка пропадет.
          kalisto
          24 мая 2017, 14:14
          0
          Я не пойму почему вдруг ищется файл mfgost.tmweb.ru/assets/components/ajaxform/js/lib/jquery.jgrowl.js?
          Не пойму почему на главной этот калькулятор работает, а на отдельной странице кусок кода аналогичного содержания обнуляет шаблон (там прямо видно 1 сек. прорисовка, а потом обнуление).
          skrinshoter.ru/s/240517/rfsHYooE
          А почему?
          Вы можете отредактировать его пути в подключаемом файле ajaxform (и попутно вынести его в другое место через параметр &frontend_css, чтобы ваше изменение не затерлось при обновлении)
          Ищу jquery.jgrowl.js где подключается?
          \assets\components\ajaxform\js\lib\jquery.jgrowl.map (1 hit)
          Line 5: «jquery.jgrowl.js»
          Прошу помощи как мне отредактировать его пути в подключаемом файле ajaxform (и попутно вынести его в другое место через параметр &frontend_css, чтобы ваше изменение не затерлось при обновлении)??
            Максим Кузнецов
            24 мая 2017, 21:40
            1
            +1
            1. Копируете файл mfgost.tmweb.ru/assets/components/ajaxform/js/default.js в произвольное место.
            2. В параметр сниппета добавляете &frontend_js=`/путь_до_нового_файла`

            Сам jGrowl в файле подключается буквально в первых строчках:
            if (!jQuery().jGrowl) {
            	document.write('<script src="' + afConfig['assetsUrl'] + 'js/lib/jquery.jgrowl.min.js"><\/script>');
            }
            — можно в свежесозданном файле удалить эти строчки и подключить jGrowl вручную.

            Почему у вас меняется jgrow.min.js на jgrowl.js — вопрос хороший, но без дополнительных данных/доступов сказать без хрустального шара особо не получится. Можно попробовать решить «общими» методами:
            — переустановить ajaxForm
            — почистить кэш

            Вообще, таких проблем «из коробки» нет, так что причин может быть много, начиная от самописных плагинов и заканчивая хостингом.
              kalisto
              24 мая 2017, 22:14
              0
              Спасибо Максим, попробую.
      kalisto
      24 мая 2017, 13:46
      0
      В шаблоне страницы и на главной стоит
      [[!AjaxForm?
              &snippet=`FormIt`
              &form=`formCalc`
              &hooks=`spam,email,FormItSaveForm`
              &emailTpl=`emailCalc`
              &emailSubject=`Калькулятор с сайта mfgost.ru`
              &emailFrom=`no-reply@mfgost.ru`
              &emailTo=`[[#1.emailZayavka]]`
              &emailCC=`[[#1.emailZayavkaTo]]`
              &formName=`Калькулятор`
              &validate=`name:required:minLength=`2`,
                         email:email:required`
              &successMessage=`Ваш заказ успешно отправлено, наш менеджер свяжеться с Вами в ближайшее время`
            ]]
      чанк formCalc
      <form action="[[~[[*id]]]]" method="post" id="form-calc" class="events-content" name="calc-form">
              <input type="hidden" name="formTheme" value="formCalc">
              <ol class="callback-wrap">
                <div class="col-md-12">
                  <div id="processTabs">
                    <ul class="process-steps clearfix">
                      <li>
                        <a href="#ptab1" class="i-circled divcenter"><span class="round-tabs"><i class="fa fa-male"></i></span></a>
                      </li>
                      <li>
                        <a href="#ptab2" class="i-circled divcenter"><span class="round-tabs"><i class="fa fa-pencil-square"></i></span></a>
                      </li>
                      <li>
                        <a href="#ptab3" class="i-circled divcenter"><span class="round-tabs"><i class="fa fa-language"></i></span></a>
                      </li>
                      <li>
                        <a href="#ptab4" class="i-circled divcenter"><span class="round-tabs"><i class="fa fa-adjust"></i></span></a>
                      </li>
                      <li>
                        <a href="#ptab5" class="i-circled divcenter"><span class="round-tabs"><i class="fa fa-bar-chart"></i></span></a>
                      </li>
                    </ul>
                    <div>
                      <div id="ptab1">
                        <li>
                          <h5>Выберите тип кухни:</h5>
                          <div class="inputs kitchen-type">
                            <div class="input-item pryamaya">
                              <input type="radio" name="kitchen-type" id="pryamaya" value="Прямая">
                              <label for="pryamaya">
                              <img src="assets/themekalisto-design/img/calc/step1-1.png" width="42" alt="">Прямая</label>
                            </div>
                            <div class="input-item g-obraznaya">
                              <input type="radio" name="kitchen-type" id="g-obraznaya" value="Г-образная">
                              <label for="g-obraznaya">
                              <img src="assets/themekalisto-design/img/calc/step1-2.png" width="42" alt="">Г-образная</label>
                            </div>
                            <div class="input-item p-obraznaya">
                              <input type="radio" name="kitchen-type" id="p-obraznaya" value="П-образная">
                              <label for="p-obraznaya">
                              <img src="assets/themekalisto-design/img/calc/step1-3.png" width="42" alt="">П-образная</label>
                            </div>
                          </div>
                          <p class="text-center padtop20"><a href="#" class="btn tab-linker" rel="2">Следующий шаг</a></p>
                        </li>
                      </div>
                      <div id="ptab2">
                        <li>
                          <h5>Длина кухонного гарнитура в метрах:</h5>
                          <div class="inputs kitchen-length">
                            <div class="input-item">
                              <input type="radio" name="kitchen-length" id="length-s" value="до 3х метров">
                              <label for="length-s">
                              <img src="assets/themekalisto-design/img/calc/ruletka.png" width="42" alt="">до 3х метров</label>
                            </div>
                            <div class="input-item">
                              <input type="radio" name="kitchen-length" id="length-m" value="3-6 метров">
                              <label for="length-m">
                              <img src="assets/themekalisto-design/img/calc/ruletka.png" width="42" alt="">3-5 метров</label>
                            </div>
                            <div class="input-item">
                              <input type="radio" name="kitchen-length" id="length-l" value="более 6 метров">
                              <label for="length-l">
                              <img src="assets/themekalisto-design/img/calc/ruletka.png" width="42" alt="">более 5 метров</label>
                            </div>
                          </div>
                          <p class="text-center padtop20"><a href="#" class="btn tab-linker" rel="3">Следующий шаг</a></p>
                        </li>
                      </div>
                      <div id="ptab3">
                        <li>
                          <h5>Фасады(дверцы):</h5>
                          <div class="inputs kitchen-facade">
                            <div class="input-item">
                              <input type="radio" name="kitchen-facade" id="facade-tape" value="Мдф в пленке">
                              <label for="facade-tape">
                                Мдф в пленке
                                <span class="facade-desc">
                                  Для тех, кто подбирает кухню под конкретный бюджет.
                                </span>
                              </label>
                            </div>
                            <div class="input-item">
                              <input type="radio" name="kitchen-facade" id="facade-plastic" value="МДФ в пластике">
                              <label for="facade-plastic">
                                МДФ в пластике
                                <span class="facade-desc">
                                  Для семей с очень активными детьми.
                                </span>
                              </label>
                            </div>
                            <div class="input-item">
                              <input type="radio" name="kitchen-facade" id="facade-enamel" value="МДФ в эмали">
                              <label for="facade-enamel">
                                МДФ в эмали
                                <span class="facade-desc">
                                  Для тех, кто хочет сэкономить, не теряя в качестве.
                                </span>
                              </label>
                            </div>
                            <div class="input-item">
                              <input type="radio" name="kitchen-facade" id="facade-massive" value="Кухни из массива">
                              <label for="facade-massive">
                                Кухни из массива
                                <span class="facade-desc">
                                  Для тех, кто ищет долговечность и не привык экономить.
                                </span>
                              </label>
                            </div>
                          </div>
                          <p class="text-center padtop20"><a href="#" class="btn fright tab-linker" rel="4">Следующий шаг</a></p>
                        </li>
                      </div>
                      <div id="ptab4">
                        <li>
                          <h5>Фурнитура:</h5>
                          <div class="inputs kitchen-furniture">
                            <div class="input-item">
                              <input type="radio" name="kitchen-furniture" id="boyard" value="boyard">
                              <label for="boyard">
                                <span class="furniture-info">
                                  <span class="furniture-desc">
                                    Отечественная без доводчиков
                                  </span>
                                </span>
                              </label>
                            </div>
                            <div class="input-item">
                              <input type="radio" name="kitchen-furniture" id="blum" value="Blum">
                              <label for="blum">
                                <img src="assets/themekalisto-design/img/calc/blum.png" width="72" alt="">
                                <span class="furniture-info">
                                  <span>Blum</span>
                                  <span class="furniture-desc">
                                    Австрийская с доводчиками
                                  </span>
                                </span>
                              </label>
                            </div>
                          </div>
                          <p class="text-center padtop20"><a href="#" class="btn fright tab-linker" rel="5">Следующий шаг</a></p>
                        </li>
                      </div>
                      <div id="ptab5">
                        <li>
                          <h3>Расчёт готов! Укажите контакты, консультант перезвонит и сообщит стоимость</h3>
                          <p class="text-center padtop20"> <a href="#free-zvonok" data-effect="mfp-zoom-in" class="btn btn2 open-popup">Узнать стоимость</a> </p>
                        </li>
                      </div>
                    </div>
                  </div>
                </div>
              </ol>
              [[+fi.success:is=`1`:then=`<div class="alert alert-success">[[+fi.successMessage]]</div>`]]
              [[+fi.validation_error:is=`1`:then=`<div class="alert alert-danger">[[+fi.validation_error_message]]</div>`]]
            </form>
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        8