2016-01-19 21 views
1

我遇到了一個問題,我試圖在CMS中擴展Hubspot窗體以獲取其中的某些附加功能。如何修改系統生成的Hubspot javascript窗體

不幸的是,我不能編輯他們在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或企業):觸發表單提交一個工作流程和包括網絡掛接爲一個步驟 - 有效負載不能被修改,但它會將整個聯繫記錄發送到您選擇的端點:http://developers.hubspot.com/docs/methods/workflows/webhook_information

選項#3(適用於所有產品層級 - 已付,但最少$$) :使用Zapier.com將HubSpot連接到其他SaaS平臺。 Zapier還包含一種自定義webhook有效載荷的方法,以將所需的數據發送到您的最終目的地。

+0

謝謝 - 我曾嘗試過選項1,但對於用戶來說並不理想,因爲他們仍然需要手動添加嵌入代碼。我想要從所有現有表單中捎帶回來。 然而,選項2聽起來像它會運作良好。謝謝 –

+1

可以確認選項2的作品差不多 - 這麼多的數據!謝謝 –

+0

很好聽!確保每次聯繫人符合條件/提交表單時都將其設置爲觸發,而不僅僅是第一次:) –