Как добавить новый элемент, если в списке на форме его нет
Вариант 1. Использование полей списка типа select2 с tags=true
Пользователь может ввести свое значение, которого нет в списке и оно добавится в список в браузере.
1. Для поля ставим тип Список 2 (select2).
2. Указываем в GetItems для поля настройку tags=true
-- SELECT 1 в GetItem формы
select '{"tags": true}' options_s47
3. При обработке значений в SaveItem можно делать разбор значения поля. Если это существующий элемент, то просто сохранять поле. Если это несуществующий элемент, то добавлять его сначала в справочник, а затем делать привязку
Примечание:
При добавлении элемента у него value будет такое как и text. Если у вас для value используются числовые id, то при сохранении проверяйте что пришло, число или нет
if(try_cast(@value as int)=null ) begin
-- it's string, new value from user
end else begin
-- it's int
end
Вариант 2. Использование Popover формы
Для этого используем формы во всплывающем окне (форма на popover окне).
Через кастомную разметку формы рядом с комбиком элементов добавляем кнопку:
<a href="#" class="as-popover btn btn-secondary btn-lg" data-content="" data-title="Заголовок" data-trigger="click" data-type="primary" data-size="lg" data-formcode="newForm" data-formitemid="">Новый элемент</a>
Также используйте частичное обновление страницы через параметр refreshContainer при сохранении формы
select 1 Result, '' msg, 'body' refreshContainer
Страница-источник на сайте falconspace.ru
-
Начало работы
-
Основа Falcon Space
-
Руководства
-
Возможности
-
Коммуникация пользователей
-
Таблицы
-
Формы
Работа с формами Настройка полей формы Список типов полей формы GetItem - вывод данных формы CheckItem - процедура проверка введенных данных на форме SaveItem - процедура сохранения формы SaveField - сохранение одиночного поля на форме CheckItemFIeld - процедура реагирования на изменения поля dict - процедура для значений списковых полей формы Progress - процедура отображения статуса заполнения формы Как вывести форму во всплывающем окне рядом с кнопкой (popover) Загрузка формы по ссылке Как принимать в форму не 1 параметр (itemID), а несколько входящих параметров? data-param-p1 Как сделать модальную форму Как добавить коллбек после загрузки формы и после сохранения формы. Как показывать на форме прогресс заполнения (прогресс заполнения формы) Как сделать форму в виде мастера шагов Как сделать подтверждение действия в СМС (SMS) в форме Как установить поля в форме по умолчанию при загрузке Как показывать изменяющуюся информацию при изменении полей Формы. Как сделать в форме более 1 кнопки действий (несколько кнопок действий на форме) Как правильно обрабатывать цены (дробные числа) на форме Как передать в форму скрытый параметр Как в форме добавить примеры заполнения полей (example) Как сделать окно подтверждения действия формы Как выбрать значение списка через справочник в модальном окне Динамическое изменение itemID у формы в зависимости от других элементов страницы Как скрывать/показывать, обновлять область на странице при изменении поля формы Как добавить новый элемент, если в списке на форме его нет Как перезагрузить страницу после сохранения формы Как вывести списковые данные или таблицу внутри формы Как сделать зависимые поля в форме (Страна, Город) Как сделать кастомную HTML разметку для формы (jsRender) Как создать кастом форму с подтверждением действия по Email или SMS (JS метод) Установка фоновой панели для формы Как сделать задержку при сохранении формы (saveDelay) Подсказки-ограничители длины для полей в форме Как динамически изменять тип поля формы Как сохранить значение поля в браузере, чтобы каждый раз его не вбивать при загрузке (оставлять последнее сохраненное). Запоминание поля формы в браузере Как выводить разные данные на одной форме для разных ролей Как сделать форму с сохранением состояния Как сделать поля с анимацией значений Использование Google Recaptcha в формах Как обновить таблицу после сохранения формы в модальном окне Как указать произвольную маску для поля ввода в форме Кастом проверка полей формы через JS Как в выборе даты (datepicker) задать доступные даты Как создать форму для редактирования сущности Загрузка формы в выпадающем окне (dropdown) Добавление смайликов (emoji) в поля форм Как у формы сделать progress bar при загрузке формы Работа с датами в формах Показ количества символов рядом с полем в форме Кнопка очистки формы Reset Контроль заполнения ключевых форм на сайте Как сделать форму с простым подтверждением действия (confirm) Как поменять соотношение длины метки и поля Как при сохранении формы вывести сообщение printlog, а не alert Выпадающая панель в форме рядом с названием dropdownPanel
-
Поля формы
-
Лендинги
-
Дизайн, стилизация, юзабилити
-
Интеграции
-
Универсальный API
-
Каталоги
-
Навигация
-
Документы
-
Дополнительные компоненты
-
Продвижение, SEO
-
Системные моменты
-
Системное администрирование
-
HOWTO
-
Загрузка файлов, картинок
-
HOWTO SQL
-
HOWTO JS
-
HOWTO Верстка
-
Решение проблем
-
Советы по реализации