URL скопирован в буфер обмена!

Как запретить отправку формы нажатием Enter в Tilda

С помощью этой модификации можно запретить отправку стандартных и Zero-форм в Tilda при нажатии клавиши Enter, чтобы избежать случайных отправок при вводе данных. Модификацию можно подключить как для всех форм на странице, так и только для выбранных.

Модификация работает с включенным Autoscale в блоках
Модификация работает только со стандартными блоками и Zero Block
Номер модификации в библиотеке TiCode

Генератор кода

id блоков форм
Войдите в аккаунт чтобы получить доступ к генератору кода
<!--TICODE--><!-- Библиотека модификаций для Тильда https://ticode.dev --> <!--TCD0140--><script> (function () { var tcdBlockIds = '#rec855058583'; var tcSelectNoEnter = tcdBlockIds .split(',') .map(function (s) { return s.trim(); }) .filter(Boolean); function ticodePreventEnterOnForm(form) { form.addEventListener('keydown', function (e) { var tiTag = e.target.tagName.toUpperCase(); var tiIsEnter = (e.key === 'Enter' || e.keyCode === 13); if (tiTag === 'TEXTAREA') return; if (tiIsEnter) { e.preventDefault(); e.stopPropagation(); } }, true); } function ticodeIsInTarget(form) { if (tcSelectNoEnter.length === 0) return true; return tcSelectNoEnter.some(function (tiSel) { return form.closest(tiSel); }); } function ticodeBindForm(form) { if (!form.dataset.noEnterBound && ticodeIsInTarget(form)) { ticodePreventEnterOnForm(form); form.dataset.noEnterBound = '1'; } } function ticodeAttachToForms() { var tiScope = tcSelectNoEnter.length === 0 ? [document] : tcSelectNoEnter.map(function (tiSel) { return document.querySelector(tiSel); }).filter(Boolean); tiScope.forEach(function (tiRoot) { tiRoot.querySelectorAll('form').forEach(ticodeBindForm); }); } document.addEventListener('DOMContentLoaded', ticodeAttachToForms); var tildatiObserver = new MutationObserver(function (tildatiMutations) { tildatiMutations.forEach(function (tildatiMutation) { tildatiMutation.addedNodes.forEach(function (tiNode) { if (tiNode.nodeType !== 1) return; if (tiNode.tagName === 'FORM') { ticodeBindForm(tiNode); } if (tiNode.querySelectorAll) { tiNode.querySelectorAll('form').forEach(ticodeBindForm); } }); }); }); tildatiObserver.observe(document.body, { childList: true, subtree: true }); })(); </script>
КОПИРОВАТЬ КОД
1. Создаем блок стандартной формы или форму в Zero Block. Копируем ид блока и вставляем в генератор в поле "id блоков форм". Если форм несколько, то указываем id через запятую. Например: #rec2015222333, #rec2015252421.

Модификация работает обычными формами и формами в Popup, слайдерах или табах.

2. Копируем готовый код и вставляем в HTML блок Т123. Блок с кодом размещаем в самом низу сайта.

Примечание: если оставить поле "id блоков форм" пустым, то скрипт подключится ко всем формам на странице. Это удобно если нужно запретить отправку кнопкой Enter во всех формах на сайте. Достаточно разместить скрипт в футере без указания id блоков.
Эту форму нельзя отправить при помощи Enter
Демо форма
Made on
Tilda