«Event Loader» в Chronoforms 6 и «Event Loop» — в пятой версии, соответственно, являются вспомогательными функциями-обработчиками и служат, в основном, для остановки текущей обработки формы и вызова другого события при наступлении каких-либо собственных событий других функций-обработчиков.

В редакторе формы они представлены в списке элементов меню, слева во вкладках «Установка» (Install) соответствующих версий компонента, а в случаях, когда форма создается в режиме «easy», уже сгенерированы и расположены в правильном порядке.

Прерывание обработки формы с помощью функций-обработчиков Event Loader и Event Loop в новых версиях Chronoforms

Рис. 1

Некоторые функции обработчики имеют собственные события. Например, обработчики проверки полей (см. рис. 1), хотя и используются для разных целей, но имеют по два собственных события: одно наступает в случае успешной проверки, другое — в случае отрицательного результата проверки. В данном случае, если не прервать обработку формы при наступлении событий «fail», когда содержимое формы не проходит проверку, то после выполнения кода соответствующего валидатора остальные скрипты формы продолжат работу и будут выполнять следующее в очереди действие. В итоге, даже не смотря на то, что обязательные поля не заполнены, или заполнены неправильно, или ответ на проверочный вопрос неверен (в соответствующих случаях), отправка формы будет произведена как есть, даже при соблюдении правильной очередности расстановки обработчиков в событий.

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

Функции компонента, которые имеют собственные события

CF5 CF6
Files Upload Delete Data
Check Captcha Read Data
DB Read Save Data
Joomla Login CURL
Joomla Registration Upload Files
Authorize.net – Trial Login
2Checkout Listener Save User
PayPal Data Processor User activation
PayPal Listener Event Switcher
PayPal Pro – Trial Loop Event
Authenticator 2CO Listener
Submit Limit PayPal IPN
User is Logged in Check Honeypot
Event Switcher Check Google reCaptcha
Server Validation Validate Fields
  Check Security image
  Validate Data
  Zapier webhook

 

Не для всех, перечисленных выше функций использование «Event Loader» (или «Event Loop») будет целесообразным. Но следует обратить внимание на элементы, которые отвечают за проверку каких-либо ограничений и используются совместно с другими обработчиками, выполнение которых зависит от наступления события первых.

Для того, чтобы задействовать «Event Loader» (или «Event Loop») в текущем проекте формы, нужно перетащить мышью соответствующий версии компонента элемент в область события с помощью мыши (см. рис. 1).

Элементы «Event Loader» и «Event Loop» имеют все, необходимые для их корректной работы, настройки и, в большинстве случаев, их корректировка не требуется. В обеих рассматриваемых версиях эти элементы, по умолчанию, прерывают обработку формы и повторно вызывают ее событие «load». Поле настроек «Имя события» (Event name) (см. рис 2), может быть изменено вручную. При этом имя вызываемого события должно точно ему соответствовать, не должно иметь пробельных и спецсимволов.

В CF6 есть также возможность отключить данный обработчик, не удаляя его из события формы (см. рис. 2). Для этого нужно установить переключатель поля «Остановить обработку после срабатывания» (Stop processing after switching) в положение «Нет» (No). В CF5 такой возможности нет, поэтому, если данная функция не нужна, то ее нужно удалить из области соответствующего события.

Настроки обработчиков прерывания обработки форм Event Loader и Event Loop в Chronoforms 5 и 6

Рис. 2

Хостинг SpaceWeb