Иван, возможно, я не так вас понял, но на данный момент штатные формы и так посредством JS встраиваются. Это уже потом скрипты дорисовывают фрейм. Но так уж они работают.
Часто в CMS форме нужно передать URL или IP пользователя, для этого прекрасно подходят hidden поля, но задать им значение не получится...
Из-за этого приходится "пилить костыли" в шаблоне по преобразованию и заполнению полей, в зависимости от страницы вызова и прочих характеристик... А ведь передать php выражение {=$APPLICATION->GetCurPage(false)} было бы удобно!
Создала собственный валидатор для поля формы по инструкции https://dev.1c-bitrix.ru/api_help/form/validators.php#example. Все работало, я довольная запустила форму в продуктив и забыла. Выяснилось, что ПОЛЬЗОВАТЕЛЬСКИЕ валидаторы (не относится к встроенным в CMS) применяются только если у текущего юзера права на модуль "Веб-формы" уровня W, в противном случае валидатор игнорируется, будто его и не было. Ошибка не очевидна, в документации про это нигде не говорится. Предлагаю либо подключать класс с кастомными валидаторами независимо от прав пользователя, либо хотя бы обновить документацию.
Почему-то нет API для создания, редактирования, удаления веб-форм. Если я хочу обернуть сайт в мастер, где есть веб-формы приходится городить и юлить. По-моему вообще правильно что все что делается через админку можно сделать средствами API. Даже агенты можно добавлять для запуска! А создать форму нет
На данный момент в.11 Битрикс столкнулся с тем, что задаю символьные имена для полей формы при ее создании, но когда использую $FORM->ShowInput('famyli') то получаю HTML код <input name="form_text_50"> Предлагаю сделать при заданном поле символьный код вывод $FORM->ShowInput('famyli') как <input name="famyli"> то есть символьный код превращать в atrr NAME тега. Считаю, что это позволит гибко и легко переносить формы с сайта на сайт, так как при обращении к данным содержащимся в полях формы я сейчас вынужден использовать name="form_text_50", а если я переношу форму на другой сайт, то у меня будут NAME у форм совершенно другие! Придется переписывать всю модель с новыми переменными, а если их нескольо десятков? Это превращается в затруднительную задачу...