
FetchIt
Легковесная AJAX-отправка форм в MODX на Fetch API поверх FormIt или своего сниппета


Доступ: FetchIt.instances.get(formElement). В событиях экземпляр лежит в e.detail.fetchit.
Свойства:
| Свойство | Описание |
|---|---|
form | HTMLFormElement |
config | Конфиг из FetchIt.create() (actionUrl, pageId, классы, clearFieldsOnSuccess) |
Снимает ошибки со всех полей.
document.addEventListener('fetchit:after', (e) => {
e.detail.fetchit.clearErrors()
})Очищает ошибки одного поля. Возвращает { fields, errors, customErrors }.
const { fields, errors, customErrors } = fetchit.clearError('password')Помечает поле невалидным: классы, aria-invalid, текст в [data-error]. Сообщение проходит через sanitizeHTML. Пустая/пробельная строка игнорируется.
document.addEventListener('fetchit:before', (e) => {
const { formData, fetchit } = e.detail
if (!formData.get('email')) {
fetchit.setError('email', 'Укажите email')
e.preventDefault()
}
})Показывает сообщение уровня формы.
type: 'success' → [data-success], иначе → [data-validation-error]fetchit.setFormMessage('success', 'Готово')
fetchit.setFormMessage('validation', 'Проверьте поля')Скрывает и очищает [data-success] и [data-validation-error].
На время запроса скрипт сам вызывает disable / enable. Можно вызвать вручную.
Массив полей с name или name[].
Элементы [data-error="name"] и [data-error="name[]"].
Элементы [data-custom="name"].