Lead Capture Tools

romidg
Member

Sending data with onFormSubmit: data being sent only for existing contacts

SOLVE

Hi there!

 

I'm trying to send data through my HB form using hidden fields. We're testing the form with my team and it seems like if the person hitting submit is already a HB contact, then the function inside onFormSubmit runs fine and we get an email with the data we want, but if the person isn't already a HB contact, we just get a regular email with the person's email address (which is the only non-hidden field in the form).

Any idea what this could be? 

I'll leave my code in the comments as it seems to mark my post as spam if I put it here.

0 Upvotes
1 Accepted solution
romidg
Solution
Member

Sending data with onFormSubmit: data being sent only for existing contacts

SOLVE
  hbspt.forms.create({
                portalId: "2961853",
                formId: "b9bc4c6d-ce95-4275-ac7c-1ca703211196",
                onFormSubmit: function($form) {
                  const form = $form[0]
                  const email = form[0].value
                  const companySize = $('#slider')[0].value
                  const paymentPeriod = annually.prop('checked') === true ? 'annually' : 'monthly'
                  const currency = $('.currency')[0].innerHTML
                  const total =  $('#final-price')[0].innerHTML
                  const data = {
                    fields: [
                      {
                        name: "builder_company_size",
                        value: companySize
                      },
                      {
                        name: "builder_payment_period",
                        value: paymentPeriod
                      },
                      {
                        name: "builder_currency",
                        value: currency
                      },
                      {
                        name: "builder_price",
                        value: total
                      },
                      {
                        name: "email",
                        value: email
                      }
                    ],
                    legalConsentOptions: {
                      consent: { // Include this object when GDPR options are enabled
                        consentToProcess: true,
                        text: "I agree to allow Starred to store and process my personal data.",
                        communications: [
                          {
                            value: true,
                            subscriptionTypeId: 999,
                            text: "I agree to be contacted by Starred."
                          }
                        ]
                      }
                    }
                  }
                  $.ajax({
                    type: "POST",
                    url: 'https://api.hsforms.com/submissions/v3/integration/submit/2961853/b9bc4c6d-ce95-4275-ac7c-1ca703211196',
                    data: JSON.stringify(data),
                    success: 'success',
                    dataType: 'json',
                    contentType: 'application/json'
                  });
                }
              });

View solution in original post

0 Upvotes
1 Reply 1
romidg
Solution
Member

Sending data with onFormSubmit: data being sent only for existing contacts

SOLVE
  hbspt.forms.create({
                portalId: "2961853",
                formId: "b9bc4c6d-ce95-4275-ac7c-1ca703211196",
                onFormSubmit: function($form) {
                  const form = $form[0]
                  const email = form[0].value
                  const companySize = $('#slider')[0].value
                  const paymentPeriod = annually.prop('checked') === true ? 'annually' : 'monthly'
                  const currency = $('.currency')[0].innerHTML
                  const total =  $('#final-price')[0].innerHTML
                  const data = {
                    fields: [
                      {
                        name: "builder_company_size",
                        value: companySize
                      },
                      {
                        name: "builder_payment_period",
                        value: paymentPeriod
                      },
                      {
                        name: "builder_currency",
                        value: currency
                      },
                      {
                        name: "builder_price",
                        value: total
                      },
                      {
                        name: "email",
                        value: email
                      }
                    ],
                    legalConsentOptions: {
                      consent: { // Include this object when GDPR options are enabled
                        consentToProcess: true,
                        text: "I agree to allow Starred to store and process my personal data.",
                        communications: [
                          {
                            value: true,
                            subscriptionTypeId: 999,
                            text: "I agree to be contacted by Starred."
                          }
                        ]
                      }
                    }
                  }
                  $.ajax({
                    type: "POST",
                    url: 'https://api.hsforms.com/submissions/v3/integration/submit/2961853/b9bc4c6d-ce95-4275-ac7c-1ca703211196',
                    data: JSON.stringify(data),
                    success: 'success',
                    dataType: 'json',
                    contentType: 'application/json'
                  });
                }
              });
0 Upvotes