Ошибки AjaxForm

Не отправляет письма и не выводит сообщения AjaxForm Формаl
В логе не дает ошибок, а в консоли skrinshoter.ru/s/250916/44teYH
default.js:39 Uncaught SyntaxError: missing ) after argument list
contact.html:341 Uncaught ReferenceError: AjaxForm is not defined
Как исправить?
Содержание вызова формы
[[!AjaxForm?
    &snippet=`FormIt`
    &hooks=`email`
    &form=`FormContact`
    &emailSubject=`Письмо с сайта olgashalashova.ru`
    &emailFrom=`no-reply@olgashalashova.ru`
    &emailTo=`kalisto74@yandex.ru`
    &emailTpl=`emailContactTpl`
    &validate=`name:minLength=^2^,email:required,phone:required,message:minLength=^10^`
    &validationErrorMessage=`Пожалуйста, заполните поля помеченные *`
    &successMessage=`Сообщение успешно отправлено, наш менеджер свяжется с Вами в ближайшее время`
]]

Чанк FormContact
<form action="[[~[[*id]]]]" method="post" class="ajax_form wow fadeInUp" data-wow-delay="0.6s">
  <div class="col-md-4 col-sm-6">
    <input type="text" id="af_name" name="name" value="[[+fi.name]]" placeholder="Имя" class="form-control" required/>
    <span class="error_name">[[+fi.error.name]]</span>
  </div>
  <div class="col-md-4 col-sm-6">
		<input type="email" id="af_email" class="form-control" value="[[+fi.email]]" placeholder="Email" name="email" required>
		  <span class="error_email">[[+fi.error.email]]</span>
	</div>
	<div class="col-md-4 col-sm-12">
		<input type="text" id="af_phone" class="form-control" value="[[+fi.phone]]" placeholder="Телефон" name="phone" required>
		  <span class="error_phone">[[+fi.error.phone]]</span>
	</div>
	<div class="col-md-12 col-sm-12">
		<textarea id="af_message" class="form-control" placeholder="Ваш вопрос или сообщение" rows="7" name="message" required>[[+fi.message]]</textarea>
		<span class="error_message">[[+fi.error.message]]</span>
	</div>
	<div class="col-md-offset-2 col-md-8 col-sm-offset-2 col-sm-8">
		<button type="submit" class="btn btn-primary">ОТПРАВИТЬ</button>
	</div>
  [[+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>
Чанк emailContactTpl
<h3>Сообщение</h3>
<p>От кого: [[+name]]</p>
<p>E-mail: [[+email]]</p>
<p>Телефон: [[+phone]]</p>
<p>Сообщение: [[+message]]</p>
kalisto
25 сентября 2016, 13:26
modx.pro
6 283
0

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

Александр
25 сентября 2016, 20:20
0
Очевидно, что проблема в синтаксической ошибке js скрипта.
Что у Вас в файле default.js на 39 строке?
Оттого и переменная AjaxForm is not defined (не определена).
    kalisto
    25 сентября 2016, 21:13
    0
    Переустановила AjaxForm ошибки ушли из консоли (я там пробовала менять согласно одной инструкции — но не помогло), но сообщений и отправка почты не происходит. На сервере по тех-м причинам не могут дать доступ к логу ошибки.
    Как исправить?
      Александр
      25 сентября 2016, 22:32
      0
      у Вас в консоли 2 ошибки, обе пропали?
        Александр
        25 сентября 2016, 22:49
        0


        При нажатии на кнопку — несрабатывает скрипт, повешанный на функцию ajaxSubmit.

        Во всяком случае браузер жалуется на ссылку:
          Александр
          25 сентября 2016, 22:53
          +1
          <script type="text/javascript">
          if(typeof jQuery == "undefined"){
          	document.write('<script type="text/javascript" src="//yandex.st/jquery/2.1.1/jquery.min.js" ></'+'script>');
          }
          
          if(typeof ymaps == "undefined"){
          	//document.write('<script type="text/javascript" src="//api-maps.yandex.ru/2.1/?lang=ru_RU" ></'+'script>');
          	document.write('<script type="text/javascript" src="//api-maps.yandex.ru/2.1/?lang=ru_RU&load=Map,Placemark,GeoObjectCollection,map.addon.balloon,geoObject.addon.balloon,package.controls,templateLayoutFactory,overlay.html.Placemark" ></'+'script>');
          }
          </script>
          Попробуйте запустить страницу, удалив этот фрагмент кода (подключение api карт)
            kalisto
            26 сентября 2016, 00:54
            0
            Александр!
            Спасибо, что подсказываете, удалила и сам модуль и его подключение.
            Ошибки все равно остались те же.
            skrinshoter.ru/s/250916/nnbQRo
            Нужно было ли настраивать Системные настройки & События->почту ???http://skrinshoter.ru/s/250916/D3C3z7
      kalisto
      26 сентября 2016, 01:09
      0
      Ошибки в консоле
      initialize @ default.js:4
      (anonymous function) @ contact.html:192
      default.js:4
      skrinshoter.ru/s/250916/i7Ym8S
      contact.html:192
      <script type="text/javascript">AjaxForm.initialize({"assetsUrl":"\/assets\/components\/ajaxform\/","actionUrl":"\/assets\/components\/ajaxform\/action.php","closeMessage":"\u0437\u0430\u043a\u0440\u044b\u0442\u044c \u0432\u0441\u0435","formSelector":"form.ajax_form","pageId":11});</script>
        kalisto
        26 сентября 2016, 03:47
        0
        Обновился formit 2.2.11-pl
        Письма отправляются, но сообщения не выводит об успешной отправке — как исправить?
        и как исправить наличие * при вводе полей required
          Александр
          26 сентября 2016, 16:36
          +1
          у Вас jquery вроде тоже сторонний, с яндекса. Попробуйте поставить библиотеку jquery локально.
          У меня хром жаловался на недоступность библиотеки у яндекса.
            kalisto
            26 сентября 2016, 18:44
            0
            Александр! jQuery v1.11.1 у меня в библиотеке минимизирован через gulp
              Александр
              26 сентября 2016, 18:51
              +1
              Если сейчас все отправляется, но без уведомлений (всплывающих окон), проблема также в скриптах, т.к. у Василия в этом модуле jQuery.jGrowl стоит, который отвечает за уведомления. Отправляете заявку и смотрите в консоль. + ответ от сервера в network вкладке хрома консоли разработчика
          kalisto
          26 сентября 2016, 18:45
          0
          Я убирала yandexmap модуль и его подключение. Cейчас ошибок в консоле нет.
          Но при отправке выдает ошибку на
          default.js:16 Uncaught TypeError: $(...).ajaxSubmit is not a function(anonymous function) @ default.js:16 - $(this).ajaxSubmit({
          dispatch @ jquery.min.js:3
          r.handle @ jquery.min.js:3
          Сообщения не выводятся все равно, но письма отправляются на почту. Что можно сделать?
            kalisto
            26 сентября 2016, 19:07
            0
            Убрала снова yandexmap
            Все ошибки идут на строку подключения js AjaxForm из-за чего это может быть?
            <script type="text/javascript">AjaxForm.initialize({"assetsUrl":"\/assets\/components\/ajaxform\/","actionUrl":"\/assets\/components\/ajaxform\/action.php","closeMessage":"\u0437\u0430\u043a\u0440\u044b\u0442\u044c \u0432\u0441\u0435","formSelector":"form.ajax_form","pageId":11});</script>
            default.js:4 if (!jQuery().ajaxForm) {
              kalisto
              26 сентября 2016, 20:48
              +1
              Спасибо Вам Александр!
              Ошибка исправлена тем, что js AjaxForm подключался выше чем jquery. Не могла поймать ошибку так, как в чанке подключение jquery стояло выше чем подключение остальных скриптов а по факту наооборот.
                Александр
                27 сентября 2016, 07:19
                0
                рад за Вас =)
                  Александр
                  11 апреля 2020, 13:44
                  0
                  У меня подобная проблема. В DOM все разноситься аккуратно, а дальше проблема инициализации AjaxForm.initialize. Пересмотрел кучу сайтов, но решения не нашел. Уже близок к тому, что бы поставить крест на плагине Нумкина AjaxForm и найти рукописное решение. Буду рад если подскажете как Вы решили данную проблему
                  />


                Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                17