APIs & Integrations

PaulsPerkons
Participant

Limit Character Count for Form Field

SOLVE

Hi,

I have a form for which I have to make one of the fields allow a limited amount of characters to be input (minimum 2, maximum 12).

I found a solution mentioned in a different topic, which I tried to use, however, when I insert the actual code (the onformready), the form does not load anymore. Any possible way how I could approach this?

hbspt.forms.create({
portalId: "XXX",
formId: "XXXXXXX",
css: "",
onFormReady: function($form) {
$(“input[name="vat_number"]”).attr(‘maxlength’,‘12’);
$(“input[name="vat_number"]”).attr(‘minlength’,‘2’);
} ,
});

1 Accepted solution
Derek_Gervais
Solution
HubSpot Alumni
HubSpot Alumni

Limit Character Count for Form Field

SOLVE

Hi @paulsperkons,

You'll want to chain .change() to the end of each call, and also replace the left and right double quotes with standard double quotes (i.e. " )

View solution in original post

5 Replies 5
WTariq
Member

Limit Character Count for Form Field

SOLVE

Hi All,

I figured it out this way:

hbspt.forms.create({
        portalId: "123456",
        formId: "abcd-efg-hijk=lmno",
        onFormReady: function($form) {
          $form.find('textarea[name="message"]').attr('maxlength','150');
          $form.find('input[name="what_are_you_planning"]').attr('maxlength','150');
        },
  });
0 Upvotes
Derek_Gervais
HubSpot Alumni
HubSpot Alumni

Limit Character Count for Form Field

SOLVE

Hi @Trevor_Hatfield,

name is the input's name attribute, which for HubSpot forms is the internal property name of the corresponding contact property. I'm not entirely sure why your code isn't working; can you give me a link to the page you're working on?

Derek_Gervais
Solution
HubSpot Alumni
HubSpot Alumni

Limit Character Count for Form Field

SOLVE

Hi @paulsperkons,

You'll want to chain .change() to the end of each call, and also replace the left and right double quotes with standard double quotes (i.e. " )

Trevor_Hatfield
Member

Limit Character Count for Form Field

SOLVE

Trying to set a character limit on a text field to 250 characters, but its not working. The form just submits no matter what without checking the character limitation. Any help with getting this working would be awesome.

Is the name= the id of the form field or something else?

hbspt.forms.create({
portalId: "XXXXX",
formId: "XXXXXXXXXXXX",
css: "",
onFormReady: function($form) {
$('input[name="closed_lost_notes"]').attr('minlength','250').change();
$('input[name="closed_lost_notes"]').attr('maxlength','2500').change();
},
});

Also is there a way to show the character count and custom validation message if submitted before reaching the 250 character limit?

Thanks so much for any help!

PaulsPerkons
Participant

Limit Character Count for Form Field

SOLVE

Thank you. This fixed it.