2016-01-19 2 views
1

У меня возникла проблема, когда я пытаюсь расширить форму Hubspot в своей CMS, чтобы получить от нее дополнительную функциональность.Как изменить форму javascript Hubspot, которая сгенерирована системой

К сожалению, я не могу редактировать код, который у них есть на CMS, поэтому подумал, что может быть способ добавить некоторый javascript после их кода, чтобы добавить то, что я хочу сделать.

код генерируют выглядит следующим образом:

 hbspt.forms.create({ 
     portalId: '435515', 
     formId: '19046100-d845-4f9c-96cf-974286fc6b45', 
     }); 

Я хотел, чтобы захватить данные формы после того, как отправить, так что должно быть так:

 hbspt.forms.create({ 
     portalId: '435515', 
     formId: '19046100-d845-4f9c-96cf-974286fc6b45', 
     onFormSubmit: function($data) { 
      console.log($("input[name=firstname]").val()); 
     }  
     }); 

Но я не могу редактировать код, который они генерируют. Есть ли способ добавить onFormSubmit к этой функции без редактирования кода, который они генерируют.

Так что-то вроде: (это не работает)

//Their original code 
    <script>  
     hbspt.forms.create({ 
     portalId: '435515', 
     formId: '19046100-d845-4f9c-96cf-974286fc6b45', 
     }); 
    </script> 

    //My added function 
    <script> 
     onFormSubmit: function($data) { 
      console.log($("input[name=firstname]").val()); 
     }   
    </script> 

Благодаря

+0

Вы упомянули: «Но я не могу редактировать код, который они генерируют». Используете ли вы встроенный фрагмент html/JS в форме или строго модуль COS в средствах управления дизайном/редактирования? –

+0

Кроме того, будет полезно узнать, как вы планируете использовать значения из входных данных для отправки. Пример: для манипулирования значениями входного поля потребуется использовать .change() в силе обратного вызова - обновить состояние формы. –

+0

Я использую формы COS ... Насколько я вижу, вы не можете редактировать этот код/​​модуль. Я хочу получить данные формы (после отправки, чтобы он прошел проверку и т. Д.), И отправьте его в другое место через AJAX. –

ответ

2

Вариант № 1: Использование внедряемые форм в COS богатых текстовых модулей - звучит назад я знаю, но его жизнеспособный. Это дает вам доступ к onFormSubmit, действительный вариант для вкладываемых форм Hubspot согласно документации для разработчиков: http://developers.hubspot.com/docs/methods/forms/advanced_form_options

Вариант № 2 (Требуется HubSpot Pro или Enterprise): Trigger рабочий процесс по форме представления и включают в себя webhook как шаг - полезная нагрузка не может быть изменена, но она отправит всю контактную запись в конечную точку по вашему выбору: http://developers.hubspot.com/docs/methods/workflows/webhook_information

Вариант № 3 (работает на всех уровнях продуктов - платный, но минимальный $$) : Используйте Zapier.com для подключения HubSpot к другим платформам SaaS. Zapier также включает в себя метод настройки загрузок webhook для отправки желаемых данных в конечный пункт назначения.

+0

Спасибо - я попробовал вариант 1, но не был идеальным для пользователя, так как им нужно все же вручную добавить код для встраивания. Мне хотелось, чтобы мы отменили все существующие формы. Вариант 2, однако, звучит так, как будто он будет работать хорошо. Спасибо –

+1

Может подтвердить вариант 2 работает почти хорошо - столько данных! Спасибо –

+0

Замечательно! Убедитесь, что рабочий процесс запускается каждый раз, когда контакт соответствует критериям/отправляет форму, а не только в первый раз :) –

Смежные вопросы