Дата публикации
30 Апреля 2021
Дата изменения
30 Апреля 2021
Уникальных просмотров
1.101

При подключении компонента mSearch2, если в консоли вы встретили следующую ошибку:

Uncaught ReferenceError: mse2FormConfig is not defined

То это значит, что не отрабатывает инициализация формы скриптом компонента. Проверить доступны ли объекты mSearch2, можно запустив эти два скрипта в консоли браузера:

$(document).ready(function() {
  console.log(mSearch2);
});
$(document).ready(function() {
  console.log(mse2FormConfig);
});

Решение ошибки

На самом деле, эта ошибка вызывается небольшой недоработкой автора компонента. Если у формы указать класс msearch2, а у сниппета mSearchForm указать параметр 'autocomplete' => 0 (т.е. отключить, как указано в документации), то конфигурация формы не инициализируется.

Иными словами, нужно либо включить параметр autocomplete (по умолчанию он включен) добавив класс msearch2 к форме, либо убрать класс msearch2 у формы, что отключит autocomplete.

Вот пример рабочей формы без параметра autocomplete:

{set $searchForm = $_modx->runSnippet('!mSearchForm', [
'pageId' => 5,
'limit' => 10,
'tplForm' => '@FILE chunks/search/form.tpl',
])}

{$searchForm}

<form action="{$pageId | url}" method="get" class="search">
  <input type="text" id="searchbox" placeholder="Поиск" name="{$queryVar}" value>
  <button type="submit" class="btn">Найти</button>
</form>

И такой же рабочий пример с включенным параметром autocomplete:

{set $searchForm = $_modx->runSnippet('!mSearchForm', [
'pageId' => 5,
'limit' => 10,
'tplForm' => '@FILE chunks/search/form.tpl',
])}

{$searchForm}

<form action="{$pageId | url}" method="get" class="search msearch2">
  <input type="text" id="searchbox" placeholder="Поиск" name="{$queryVar}" value>
  <button type="submit" class="btn">Найти</button>
</form>

Таким образом можно избежать ошибки инициализации формы в компоненте mSearch2.

Благодарность автору

Если по какой-либо причине вы хотите поблагодарить автора данного ресурса, вы можете это сделать одним из удобных для вас способов ниже.

Один из самых популярных способов поблагодарить автора, воспользоваться сервисом Яндекс.Деньги.

Время работы: 0,1112 s
Время запросов: 0,1112 s
Количество запросов: 28
Источник: cache