Uncaught ReferenceError: mse2FormConfig is not defined
Решение ошибки Uncaught ReferenceError: mse2FormConfig is not defined
в компоненте mSearch2.
При подключении компонента 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,1079 s
Количество запросов: 28
Источник: cache