Возможно ли заполнять тип поля «выпадающий список» в лиде, поступающей из формы на сайте информацией?
Пользователь заполняет форму на том или ином сайте, в результате чего в битриксе создается лид. У формы есть скрытое поле с адресом сайта. В лиде есть поле, которое должно заполняться адресами сайтов и это поле является выпадающим списком с адресами множества сайтов.
Вопрос: получится ли автоматически заполнять поле лида, являющееся выпадающим списком? И если да, то как?
Битрикс вставляет форму прямо в ваш dom, так что проблем с манипуляциями нет.
В коде ниже - автоматически заполняется поле Компания, спустя 1 секунду (когда уже 100% отрендерится форма).
Можно сделать более красиво, к примеру, через mutation observer.
И еще - битрикс не дает названия полям, так что придется составлять селектор до элемента руками.
У меня не такая встраиваемая форма, а обычная, из которой данные отправляются в битрикс вебхуком. Таким образом информация из вашего сообщения, на сколько я понимаю, для меня не актуальна.
Попробую другими словами свой вопрос переформулировать. У меня в самом битриксе создано поле лида, с типом "выпадающий список". Если бы я вручную редактировал лида в битриксе и заполнял его поля, то в поле выпадающий список на выбор несколько сайтов задано: сайт1, сайт2, сайт3 и я могу из них выбирать. Так вот, когда человек на сайте заполняет форму, в этой форме скрытое поле, допустим "сайт2". Мне надо, что бы после заполнения формы, создался лид, в поле которого из вариантов "сайт1, сайт2, сайт3" автоматически выбрался "сайт2".
Я могу сделать в битриксе для лида поле, которое можно произвольным текстом заполнять и тогда все будет работать. Но мне нужно поле с типом "выпадающий список" и его автоматическое заполнение при отправке формы с сайта.
ReaverJS, оно в общем то работает, но только в случае, если тип поля лида не список, а строка. Т.е. вопрос не в правильности моего обработчика и моей формы, а в механике работы самого битрикса.
Текст из скрытого поля в форме на сайте, содержащий в себе "сайт2", передается в поле лида, являющегося строкой. Но если поле лида не строка, а список, то даже в случае совпадения "сайт2" в поле формы на сайте с одним из значений списка у лида - в лиде оно не заполняется.
IwanIwanow, проблема в том, что у каждого значения из списка - есть свой ID.
Соответственно и отсылать надо ID.
К примеру:
У меня есть свойство "Сегмент". У него 3 значения:
"Крупный" - ID - 103
"Средний" - ID - 105
"Малый" - ID - 107
Получить ID значений можно с помощью crm.lead.userfield.list / crm.lead.userfield.get
Теперь отправляем в Б24 лид с Сегментом "средний":
/crm.lead.add?FIELDS[TITLE]=kekw2&FIELDS[UF_CRM_600587A7586AF][0]=105
Тут я использую GET параметры, но это не важно.
FIELDS[UF_CRM_600587A7586AF][0] - [0], потому что у меня список множественный.
Здесь UF_CRM_12345" => $_POST['UF_CRM_12345] из скрытого поля с именем UF_CRM_12345 извлекается значение для дальнейшей передачи в битрикс для создания лида. Если в этом поле формы, вместо "сайт2" я впишу числовое значение ID, например "105" - так ведь тоже не будет работать? Как тогда мне модифицировать мой обработчик?
IwanIwanow, все верно. Если передавать ID - то будет все ок.
Посмотрите их через crm.lead.userfield.list. Если поле множественное, то надо оборачивать в массив.