Публикация
Интеграция с "коробочным" сайтом (без доступа к коду веб-формы)
2 октября 2018 17:20
Решали любопытный кейс - у клиента сайт платформенный, т.е. без доступа к исходному коду и, как следствие, к свойствам кнопки "Отправить". В такой ситуации сотворить интеграцию с bpm'online крайне проблематично. Но орешек знаний тверд, а мы не привыкли отступать:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <script src="https://webtracking-v01.bpmonline.com/JS/track-cookies.js"></script> <script src="https://webtracking-v01.bpmonline.com/JS/create-object.js"></script> <script> var config = { fields: { "Contact": "#field-wnd_ShortTextField_754782", "Email": "#field-wnd_EmailField_521715", "Commentary": "#field-wnd_LongTextField_343537" }, landingId: "ab6c91e8-28a8-4753-a5c7-6fd6ac756745", serviceUrl: "https://<url вашей системы/0/ServiceModel/GeneratedObjectWebFormService.svc/SaveWebFormObjectData", redirectUrl: "" }; function createLead() { landing.createLeadFromLanding(config) } function addEvent(elem, event, fn) { function listenHandler(e) { var ret = fn.apply(this, arguments); if (ret === false) { e.stopPropagation(); e.preventDefault(); } return(ret); } function attachHandler() { var ret = fn.call(elem, window.event); if (ret === false) { window.event.returnValue = false; window.event.cancelBubble = true; } return(ret); } if (elem.addEventListener) { elem.addEventListener(event, listenHandler, false); } else { elem.attachEvent("on" + event, attachHandler); } } function submitWait(){ clicked(); return false; } var myForm = document.forms[0]; var inputs = document.getElementsByTagName('input'); addEvent( myForm, 'submit', submitWait ); function clicked() { createLead(); console.log("clicked"); } </script>
обращаем внимание на функцию addEvent - думаю, разберетесь что к чему. Веб-форма в bpm'online конфигурируется как обычно. Потом на страницу с формой добавляем это вот (надеюсь, что скрипт вложить можно у этой платформенной страницы).
Имена полей находим инспектором:
"Contact": "#field-wnd_ShortTextField_754782", "Email": "#field-wnd_EmailField_521715", "Commentary": "#field-wnd_LongTextField_343537"
Ну и все собственно. Удачи и здоровья всем :)
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать