<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mertcan Yücel</title>
    <description>The latest articles on DEV Community by Mertcan Yücel (@mertcanyucel).</description>
    <link>https://dev.to/mertcanyucel</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F370328%2F8a2a4198-961e-44f5-bf9d-755e290de47b.jpeg</url>
      <title>DEV Community: Mertcan Yücel</title>
      <link>https://dev.to/mertcanyucel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mertcanyucel"/>
    <language>en</language>
    <item>
      <title>10 HTML Form Tags You Should Know</title>
      <dc:creator>Mertcan Yücel</dc:creator>
      <pubDate>Mon, 30 Aug 2021 13:47:00 +0000</pubDate>
      <link>https://dev.to/mertcanyucel/10-html-form-tags-you-should-know-46j8</link>
      <guid>https://dev.to/mertcanyucel/10-html-form-tags-you-should-know-46j8</guid>
      <description>&lt;p&gt;This article has been originally posted on &lt;a href="https://blog.getform.io/10-html-form-tags-you-should-know/?utm_source=dev.to&amp;amp;utm_medium=website&amp;amp;utm_campaign=html-form-tags-article"&gt;Getform Blog&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;HTML tags can be considered as special keywords which help web browsers to define how to format and display the content within the website. Since HTML forms are commonly used to collect input from website visitors to receive feedback, support requests, job applications, or more, form-related HTML tags are a lot more interactive than other HTML tags.&lt;/p&gt;

&lt;p&gt;In this guide, we will go over all the form-related HTML tags starting from the most known ones like &lt;/p&gt; and  tags and then continue with the ones that might be very helpful and interesting to use such as  and  tags for shaping your HTML forms in the best way.
&lt;h3&gt;
  
  
  HTML Form Tag
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;&amp;lt;form&amp;gt;&lt;/code&gt; tag is used for creating an interactive section, a form to gather user inputs within your website. It defines the area that contains all the form elements for data submission.&lt;/p&gt;

&lt;p&gt;The most common and important attributes used with the &lt;/p&gt; tag are "action" and "method". The "action" attribute specifies the URL of the service that will receive and process the data after form submission. The "method" attribute on the other hand defines the HTTP method for sending the data which can get the value of either GET or POST.

&lt;p&gt;Here's how the &lt;code&gt;&amp;lt;form&amp;gt;&lt;/code&gt; tag is used;&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://getform.io/f/{unique-form-endpoint-goes-here}"&lt;/span&gt; 
&lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
All the form content goes here..
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  Input Tag
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt; tag is the most popular one since it helps you to define different kinds of input fields such as text, email address, phone number, dates, file upload, radio buttons, and more.&lt;/p&gt;

&lt;p&gt;In order to specify the input field, the "type" attribute is necessary to use with the &lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt; tag. Another useful attribute is "name" which defines the name of the input to be recognized and get the value when it's sent to the server. You can also use the "placeholder" attribute to give a hint to users about what kind of value is expected from the input field. The "required" attribute is also important for specifying the input fields that must be filled out before submitting the form.&lt;/p&gt;

&lt;p&gt;Let's add some use cases of the &lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt; tag for different kinds of input fields into the &lt;code&gt;&amp;lt;form&amp;gt;&lt;/code&gt; tag;&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Full Name*:&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Name*"&lt;/span&gt; 
&lt;span class="na"&gt;required=&lt;/span&gt;&lt;span class="s"&gt;"required"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Email Address*:&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Email*"&lt;/span&gt; 
&lt;span class="na"&gt;required=&lt;/span&gt;&lt;span class="s"&gt;"required"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"phone"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Phone Number&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"tel"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"phone"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"1-(555)-555-5555"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"male"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Male&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"radio"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"gender"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"female"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Female&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"radio"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"gender"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"other"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Other&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"radio"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"gender"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  Label Tag
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;&amp;lt;label&amp;gt;&lt;/code&gt; tag is used for creating a caption or label for input elements on your web form. It provides a short description of the input field.&lt;/p&gt;

&lt;p&gt;You can use the &lt;code&gt;&amp;lt;label&amp;gt;&lt;/code&gt; tag by placing the form control inside it or by adding the "for" attribute which is used for specifying the input element that is bound to the label.&lt;/p&gt;

&lt;p&gt;We will add the &lt;code&gt;&amp;lt;label&amp;gt;&lt;/code&gt; tag to existing input fields and also radio buttons that we will be creating by using ;&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/getform/embed/rNwOGLZ?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Select &amp;amp; Option Tags
&lt;/h3&gt;

&lt;p&gt;If you need a drop-down menu with various options in your form, then you can use the &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; and the &lt;code&gt;&amp;lt;option&amp;gt;&lt;/code&gt; tags. The  tag is used for defining the selection or drop-down list itself. All the options in the list are represented by the  tag.&lt;/p&gt;

&lt;p&gt;Regarding the attributes, you can use the "name" attribute with the &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; tag as well. To define a value for each option in the drop-down list, you should add the "value" attribute to the &lt;code&gt;&amp;lt;option&amp;gt;&lt;/code&gt; tag.&lt;/p&gt;

&lt;p&gt;Here's an example of how it looks like;&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/getform/embed/YzQyrKm?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Textarea Tag
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;&amp;lt;textarea&amp;gt;&lt;/code&gt; tag is used for creating multi-line text areas that can have an unlimited number of characters. It is a very useful tag for having a form field to gather visitor's comments or messages.&lt;/p&gt;

&lt;p&gt;If you want to specify the size of the text area, you can add "rows" and "cols" attributes. The "name" attribute is also used here to define the name that is sent by the browser. Another one is the "maxlength" attribute which allows you to limit the number of characters that can be entered in the text area.&lt;/p&gt;

&lt;p&gt;Here's an example;&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/getform/embed/OJgyxmW?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Optgroup Tag
&lt;/h3&gt;

&lt;p&gt;As one of the lesser-known form-related HTML tags, The &lt;code&gt;&amp;lt;optgroup&amp;gt;&lt;/code&gt; tag can be very useful if you want your visitors to choose an option from a long drop-down list in an easier way. You can group related   elements within the &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; list by using the &lt;code&gt;&amp;lt;optgroup&amp;gt;&lt;/code&gt; tag. You can add the "label" attribute to define a common name for each group of options.&lt;/p&gt;

&lt;p&gt;Let's use the &lt;code&gt;&amp;lt;optgroup&amp;gt;&lt;/code&gt; tag for the drop-down list that we created earlier;&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/getform/embed/gORaGmw?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Progress Tag
&lt;/h3&gt;

&lt;p&gt;As one of the tags introduced with HTML5, the &lt;code&gt;&amp;lt;progress&amp;gt;&lt;/code&gt;  tag is used for creating a progress bar to display the progress of tasks like uploads or downloads. The most common use case of the tag in web forms is to represent the progress of a file uploading.&lt;/p&gt;

&lt;p&gt;To determine the progress value, you can use "value", "min" and "max" attributes with the &lt;code&gt;&amp;lt;progress&amp;gt;&lt;/code&gt; tag.&lt;/p&gt;

&lt;p&gt;Let's create a progress bar for file uploading which will be displayed by the ;&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/getform/embed/wveMWjE?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Fieldset &amp;amp; Legend Tags
&lt;/h3&gt;

&lt;p&gt;You can think of the &lt;code&gt;&amp;lt;fieldset&amp;gt;&lt;/code&gt; tag as a container for the related form elements. It is helpful to make your form more understandable for users. The &lt;code&gt;&amp;lt;legend&amp;gt;&lt;/code&gt; tag is there to add a title for the box that is created by the &lt;code&gt;&amp;lt;fieldset&amp;gt;&lt;/code&gt; tag.&lt;/p&gt;

&lt;p&gt;Let's use these tags to group some of the form elements mentioned earlier;&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/getform/embed/yLXeJwB?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Output Tag
&lt;/h3&gt;

&lt;p&gt;As a newly introduced and lesser-known tag compared to others, the &lt;code&gt;&amp;lt;output&amp;gt;&lt;/code&gt; tag is used for displaying a result of a calculation or a user action performed usually by a script.&lt;/p&gt;

&lt;p&gt;You can use the "name" attribute to indicate a name for the &lt;code&gt;&amp;lt;output&amp;gt;&lt;/code&gt; tag. To define a unique id for any element in an HTML document, you should use an "id" attribute which allocates a unique identifier used by CSS or javascript to perform certain tasks.  Another attribute that can be used with the &lt;code&gt;&amp;lt;output&amp;gt;&lt;/code&gt; tag is the "for" attribute. It specifies the relationship between the result and the elements that are used in the calculation by listing the "id" attributes.&lt;/p&gt;

&lt;p&gt;Let's demonstrate one of the &lt;code&gt;&amp;lt;output&amp;gt;&lt;/code&gt; tag's use cases built with the help of  ;&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/getform/embed/rNwxLKa?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Button Tag
&lt;/h3&gt;

&lt;p&gt;As its name signifies, the &lt;code&gt;&amp;lt;button&amp;gt;&lt;/code&gt; tag is used for creating clickable buttons within your HTML form. You can also create buttons by using the  but you can not add a text  inside the button without the "value" attribute. You should add the "type" attribute to define the type of the button that is sent by browsers.&lt;/p&gt;

&lt;p&gt;Here's how it is used;&lt;/p&gt;

&lt;p&gt;That's it!&lt;/p&gt;

&lt;p&gt;Lastly, let's create a complete Job Application form with the form related HTML tags that we covered earlier.&lt;/p&gt;

&lt;p&gt;This example form contains the &lt;code&gt;&amp;lt;form&amp;gt;&lt;/code&gt; tag with enctype="multipart/form-data" attribute to allow file uploads, &lt;code&gt;&amp;lt;fieldset&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;legend&amp;gt;&lt;/code&gt; , &lt;code&gt;&amp;lt;label&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;option&amp;gt;&lt;/code&gt;  &lt;code&gt;&amp;lt;optgroup&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;textarea&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;progress&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt; tags and finally to submit the data &lt;code&gt;&amp;lt;button&amp;gt;&lt;/code&gt; tag.&lt;/p&gt;

&lt;p&gt;To submit the data, we will place a unique form endpoint generated on Getform and place it to action attribute, once submitted here's how it will look on Getform dashboard.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dScgMDVM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/08/image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dScgMDVM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/08/image.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;We hope you will find this guide useful for discovering major form-related HTML tags. If you liked this post, don't forget to share and follow us on &lt;a href="https://www.linkedin.com/company/getform/"&gt;LinkedIn&lt;/a&gt; and &lt;a href="https://twitter.com/getformio"&gt;Twitter&lt;/a&gt; for more updates from Getform blog!&lt;/p&gt;

&lt;p&gt;If you would like help setting up Getform on your HTML forms, feel free to reach us out at &lt;a href="mailto:info@getform.io"&gt;info@getform.io&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;You can find more information and code samples for different use cases from the resources below.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://codepen.io/getform"&gt;Codepen examples&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://codesandbox.io/u/omerozturkh/sandboxes"&gt;Codesandbox examples&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://docs.getform.io?utm_source=dev.to&amp;amp;utm_medium=website&amp;amp;utm_campaign=html-form-tags-article"&gt;Getform Documentation&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Create and Deploy Gatsby.js Forms using Getform and Vercel</title>
      <dc:creator>Mertcan Yücel</dc:creator>
      <pubDate>Sun, 22 Aug 2021 21:00:27 +0000</pubDate>
      <link>https://dev.to/mertcanyucel/create-and-deploy-gatsby-js-forms-using-getform-with-vercel-fec</link>
      <guid>https://dev.to/mertcanyucel/create-and-deploy-gatsby-js-forms-using-getform-with-vercel-fec</guid>
      <description>&lt;p&gt;&lt;a href="https://getform.io?utm_source=dev.to&amp;amp;utm_medium=website&amp;amp;utm_campaign=gatsby-vercel-article"&gt;Getform&lt;/a&gt; is a form backend platform built for developers and designers that handles form submissions on static sites and sends submissions via email.&lt;/p&gt;

&lt;p&gt;Getform also provides enhanced spam protection, form automations that includes fill &amp;amp; download forms, automatic responses, custom notifications and connection to 3^rd^ party services such as Google Sheets, Slack, Trello and more.&lt;/p&gt;

&lt;p&gt;In this guide, you will discover how to process a file upload form on your Gatsby.js project, handle form submissions using Getform and deploy it with Vercel.&lt;/p&gt;

&lt;p&gt;Before getting started, sign up for a free &lt;a href="https://vercel.com/signup"&gt;Vercel&lt;/a&gt; and &lt;a href="https://getform.io/?utm_source=dev.to&amp;amp;utm_medium=website&amp;amp;utm_campaign=gatsby-vercel-article"&gt;Getform&lt;/a&gt; account.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Set Up Your Gatsby.js Project&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Install &lt;code&gt;Gatsby CLI&lt;/code&gt; from your terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ npm install -g gatsby-cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And create a new Gatsby app:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ gatsby new gatsby-site
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add the &lt;code&gt;axios&lt;/code&gt; dependency to your project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ npm install axios
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 2: Create your form endpoint on Getform.io&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Visit your &lt;a href="https://app.getform.io/login/?utm_source=dev.to&amp;amp;utm_medium=website&amp;amp;utm_campaign=gatsby-vercel-article"&gt;Getform Dashboard&lt;/a&gt; and create a new form endpoint. Getform will ask you to name your form endpoint and the timezone of the endpoint.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qoo3cROX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0lv51tfo4h06wvc7ny5u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qoo3cROX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0lv51tfo4h06wvc7ny5u.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With your form endpoint created, you can then copy the form's endpoint from the endpoint overview page. This will be used in your project as a place to submit your form data.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sZnO2LFV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x6ynegy97o12v0iid6ci.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sZnO2LFV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x6ynegy97o12v0iid6ci.png" alt="Getform Endpoint Overview Page"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Create your form component on your Gatsby project&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Create a &lt;code&gt;ContactForm.js&lt;/code&gt; file in the &lt;code&gt;/src/pages&lt;/code&gt; directory with the code below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;axios&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;axios&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;bootstrap/dist/css/bootstrap.min.css&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;


&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;GETFORM_FORM_ENDPOINT&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;YOUR-FORM-ENDPOINT&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;


&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;Form&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;formStatus&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setFormStatus&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setQuery&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
        &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;email&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;

    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleFileChange&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;setQuery&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;prevState&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt;
            &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;prevState&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;files&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;files&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="p"&gt;}));&lt;/span&gt;
    &lt;span class="p"&gt;};&lt;/span&gt;

    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleChange&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nx"&gt;setQuery&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;prevState&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt;
            &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;prevState&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt;
        &lt;span class="p"&gt;}));&lt;/span&gt;
    &lt;span class="p"&gt;};&lt;/span&gt;

    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleSubmit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;preventDefault&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;formData&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;FormData&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="nb"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;entries&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(([&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nx"&gt;formData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;});&lt;/span&gt;

        &lt;span class="nx"&gt;axios&lt;/span&gt;
            &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
                &lt;span class="nx"&gt;GETFORM_FORM_ENDPOINT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="nx"&gt;formData&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;Accept&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
            &lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="nx"&gt;setFormStatus&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
                &lt;span class="nx"&gt;setQuery&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
                    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                    &lt;span class="na"&gt;email&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="p"&gt;});&lt;/span&gt;
                &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="p"&gt;})&lt;/span&gt;
            &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="p"&gt;});&lt;/span&gt;
    &lt;span class="p"&gt;};&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;container-md&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Gatsby&lt;/span&gt; &lt;span class="nx"&gt;File&lt;/span&gt; &lt;span class="nx"&gt;Upload&lt;/span&gt; &lt;span class="nx"&gt;Form&lt;/span&gt; &lt;span class="nx"&gt;using&lt;/span&gt; &lt;span class="nx"&gt;Getform&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;io&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/h2&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;form&lt;/span&gt;
                &lt;span class="nx"&gt;acceptCharset&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;UTF-8&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                &lt;span class="nx"&gt;method&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                &lt;span class="nx"&gt;enctype&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;multipart/form-data&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;gatsbyForm&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                &lt;span class="nx"&gt;onSubmit&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleSubmit&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;form-group mb-2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;label&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;exampleInputEmail1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Email&lt;/span&gt; &lt;span class="nx"&gt;address&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/label&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt;
                        &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;email&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;form-control&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;placeholder&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Enter your email&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;required&lt;/span&gt;
                        &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;email&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;email&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
                        &lt;span class="nx"&gt;onChange&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleChange&lt;/span&gt;&lt;span class="p"&gt;()}&lt;/span&gt;
                    &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;form-group mb-2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;label&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;exampleInputName&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Name&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/label&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt;
                        &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;form-control&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;placeholder&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Enter your name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;required&lt;/span&gt;
                        &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
                        &lt;span class="nx"&gt;onChange&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleChange&lt;/span&gt;&lt;span class="p"&gt;()}&lt;/span&gt;
                    &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;hr&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;form-group mt-3&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;label&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;mr-2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Upload&lt;/span&gt; &lt;span class="nx"&gt;your&lt;/span&gt; &lt;span class="nx"&gt;Resume&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/label&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;file&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;file&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;onChange&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleFileChange&lt;/span&gt;&lt;span class="p"&gt;()}&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;hr&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;formStatus&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-success mb-2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="nx"&gt;Your&lt;/span&gt; &lt;span class="nx"&gt;message&lt;/span&gt; &lt;span class="nx"&gt;has&lt;/span&gt; &lt;span class="nx"&gt;been&lt;/span&gt; &lt;span class="nx"&gt;sent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
                    &lt;span class="dl"&gt;""&lt;/span&gt;
                &lt;span class="p"&gt;)}&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;submit&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;btn btn-primary&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Submit&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/button&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/form&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;Form&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;NOTE: &lt;/strong&gt;Make sure to replace the value &lt;code&gt;YOUR-FORM-ENDPOINT&lt;/code&gt; of the const GETFORM_FORM_ENDPOINT with your endpoint that you have copied in Step 2.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;We pass the full form data as an object to Axios. Axios will convert this into a &lt;code&gt;multipart/form-data&lt;/code&gt; object before submitting and Getform understands this payload.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We enable bootstrap by installing it using package managers, npm or yarn:\&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;with npm - &lt;code&gt;npm install react-bootstrap bootstrap&lt;/code&gt;&lt;br&gt;
with yarn - &lt;code&gt;yarn add react-bootstrap bootstrap&lt;/code&gt;&lt;br&gt;
and import it to our contact page using &lt;code&gt;import 'bootstrap/dist/css/bootstrap.min.css';&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You are now ready to deploy your project live and start receiving form submissions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Deploy with Vercel&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To deploy your Gatsby + Getform app with &lt;a href="https://vercel.com/docs/git"&gt;Vercel for Git&lt;/a&gt;, make sure it has been pushed to a Git repository.&lt;/p&gt;

&lt;p&gt;Import the project into Vercel using your Git provider of choice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://vercel.com/import/git"&gt;GitHub&lt;/a&gt;&lt;a href="https://vercel.com/import/git"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://vercel.com/import/git"&gt;GitLab&lt;/a&gt;&lt;a href="https://vercel.com/import/git"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://vercel.com/import/git"&gt;Bitbucket&lt;/a&gt;&lt;a href="https://vercel.com/import/git"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After your project has been imported, all subsequent pushes to branches will generate &lt;a href="https://vercel.com/docs/platform/deployments#preview"&gt;Preview Deployments&lt;/a&gt;, and all changes made to the &lt;a href="https://vercel.com/docs/git#production-branch"&gt;Production Branch&lt;/a&gt; (commonly "main") will result in a &lt;a href="https://vercel.com/docs/platform/deployments#production"&gt;Production Deployment&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Form submissions received from either your localhost or production environments will show up in your Getform endpoint dashboard list in either Smart View or Table View options.&lt;/p&gt;

&lt;p&gt;Once deployed, you will get a URL to see your app live, such as the following: &lt;a href="https://gatsby-vercel-getform.vercel.app/"&gt;https://gatsby-vercel-getform.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BONUS: Getform Automations&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Getform allows you to setup &lt;strong&gt;Automation actions&lt;/strong&gt; for custom redirections, Google reCAPTCHA integration, custom email templates, autoresponse emails and Zapier integration.  &lt;/p&gt;

&lt;p&gt;For example, using Custom email template action, you can use your own HTML for email body and customize the From Name and Email Subject.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IN8-wfZT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ged1293y9rlxaitdw70u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IN8-wfZT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ged1293y9rlxaitdw70u.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; You can find more information on Getform Automation action in the Getform &lt;a href="https://docs.getform.io/?utm_source=dev.to&amp;amp;utm_medium=website&amp;amp;utm_campaign=gatsby-vercel-article"&gt;documentation&lt;/a&gt; and &lt;a href="https://getform.io/features"&gt;features&lt;/a&gt; section on Getform.io.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Connect your HTML form with Notion using Getform</title>
      <dc:creator>Mertcan Yücel</dc:creator>
      <pubDate>Thu, 27 May 2021 07:29:22 +0000</pubDate>
      <link>https://dev.to/mertcanyucel/connect-your-html-form-with-notion-using-getform-27ip</link>
      <guid>https://dev.to/mertcanyucel/connect-your-html-form-with-notion-using-getform-27ip</guid>
      <description>&lt;p&gt;Forms are great way to collect leads or messages from your website visitors. When your visitors fills out your form, you will likely need to store and organize these form submissions properly and analyze the form data in the best way.&lt;/p&gt;

&lt;p&gt;If you don't want to add your form data to your database or spreadsheet manually every single time but sending to one of the most popular productivity tool like Notion, then you can integrate Getform with Notion!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://getform.io?utm_source=dev.to&amp;amp;utm_medium=website&amp;amp;utm_campaign=notion-getform-article"&gt;Getform&lt;/a&gt; is a modern form backend platform that lets you handle HTML form submissions on any website or application. It works great for static site form management and acts as a data manager for online forms.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://notion.so/"&gt;Notion&lt;/a&gt; is an all-in-one productivity software that provides components such as notes, databases, kanban boards, wikis, calendars and reminders. It allows you to take notes, add tasks, manage projects &amp;amp; more. Notion provides the building blocks and you can create your own layouts and toolkit to get work done.&lt;/p&gt;

&lt;p&gt;In this guide, we will cover how to how to connect your HTML form to Notion to collect form submissions using Getform and send them to Notion Tables.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Create New Notion Database Items from Form submissions using Getform
&lt;/h2&gt;

&lt;p&gt;Prerequisite: You need to have at least one form created and one form submission received to your form on Getform. If you haven't received your first submission yet, check out the &lt;a href="https://docs.getform.io/installations/?utm_source=dev.to&amp;amp;utm_medium=website&amp;amp;utm_campaign=notion-getform-article"&gt;"Collecting form submissions"&lt;/a&gt; section on our docs or watch our helper &lt;a href="https://www.youtube.com/watch?v=YEH2GLFJhQY"&gt;video here&lt;/a&gt; to get started.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Sign in to your Getform account here: &lt;a href="https://app.getform.io/login?utm_source=dev.to&amp;amp;utm_medium=website&amp;amp;utm_campaign=notion-getform-article"&gt;https://getform.io/login&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt; Click the "+" button to create a new form that we will integrate with Salesforce. Let's name the form as "&lt;em&gt;Salesforce Lead Form&lt;/em&gt;".&lt;/li&gt;
&lt;li&gt; With that form created, your unique form endpoint is now ready to be inserted into your HTML form. Let's add our form and start getting our first submissions. Here is how your HTML form should look like at this point:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://getform.io/f/{your-unique-form-endpoint-goes-here}"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt; &lt;span class="na"&gt;accept-charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"fullname"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Full Name*"&lt;/span&gt; &lt;span class="na"&gt;required=&lt;/span&gt;&lt;span class="s"&gt;"required"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Email address*"&lt;/span&gt; &lt;span class="na"&gt;required=&lt;/span&gt;&lt;span class="s"&gt;"required"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"file"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"file"&lt;/span&gt; &lt;span class="na"&gt;required=&lt;/span&gt;&lt;span class="s"&gt;"required"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Submit&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can copy the Job Application Form template to start off and modify it according to your needs if you'd like.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/getform/embed/GRWWVmr?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;We want to have name, email and resume info to collect on our Notion database. With a little bit of styling, here is how your form looks like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cG-NJS7U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/05/Job-Application-Form.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cG-NJS7U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/05/Job-Application-Form.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5. On your Getform dashboard, navigate to the "&lt;em&gt;Integrations&lt;/em&gt;" tab under your Form Settings and click "&lt;em&gt;Connect with Zapier&lt;/em&gt;" to start setting up our Getform-Notion Zap.&lt;/p&gt;

&lt;p&gt;6. Search for Notion on the opening screen and go there. Zapier is a great tool to automate your workflows. What we want is to create new table rows for every time a visitor submits to our form.&lt;/p&gt;

&lt;p&gt;To be able to do that, on the Zapier page, select &lt;em&gt;"New Submission"&lt;/em&gt; on the &lt;em&gt;"When this happens"&lt;/em&gt; field and pick &lt;em&gt;"Create Database Item"&lt;/em&gt; on the &lt;em&gt;"then do this"&lt;/em&gt; field. Then you just need to click the &lt;em&gt;"Try it&lt;/em&gt; button to start setting up the integration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--57Xe53Yy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/05/Form-Notion-Databases.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--57Xe53Yy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/05/Form-Notion-Databases.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To connect your Getform account to your zap, just paste the API Key you copied from the &lt;em&gt;"Integrations" *tab and click the &lt;/em&gt;"Yes, Continue" *button. Then we will select our form's name to connect with our Salesforce account as follows:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EeMcPFdL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/05/image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EeMcPFdL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/05/image.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;7. Create a new Table on Notion where you will store the form submissions sent to your form. We will collect Name, Email and Resume from our form, so following table will cover what we need.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--88Z4pgVU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/05/image-2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--88Z4pgVU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/05/image-2.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, you need to connect your Notion account by signing in on the Zap page. Click to "Connect new account".  At this point, you will need to generate your token by creating a new Notion integration.&lt;/p&gt;

&lt;p&gt;8. On Notion, go to &lt;em&gt;Settings &amp;amp; Members &amp;gt; Integrations &amp;gt; Develop your own integrations&lt;/em&gt; to open your Notion integrations page. Then, click &lt;em&gt;Create new integration&lt;/em&gt;, give it a name and choose which Notion workspace you want to use it with.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IZseShOw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/05/Create-New-Integration-Notion.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IZseShOw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/05/Create-New-Integration-Notion.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you submit your form, Notion token for this integration will be generated and shown to you. Enter that token on Zapier to finalise connecting your Notion account.&lt;/p&gt;

&lt;p&gt;9. Notion integrations can only access databases they've been explicitly invited to. Before it can be used with Zapier, share your database with the integration via the &lt;code&gt;Share&lt;/code&gt; menu and select the Integration you have just created to give an access.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bG71VicB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/05/Share-Notion-Table.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bG71VicB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/05/Share-Notion-Table.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;10. We are almost there! Go back to your Zap and on the "Action" step, enter the form submission info to the related Notion table fields that you created in Notion as follows:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4I9-e4Xy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/05/Create-DatabaseItem-Notion-2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4I9-e4Xy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/05/Create-DatabaseItem-Notion-2.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;11. Now our Zap is ready to test. Let's click on the *"Test&amp;amp;Continue"  *button and check your Table(Database) on your Notion account.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I2kt6WCC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/05/Notion-Getform.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I2kt6WCC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/05/Notion-Getform.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it! Your HTML form backend that is managed by Getform is connected to Notion to send submissin data Notion databases successfully.&lt;/p&gt;

&lt;p&gt;Click "Turn on Zap" to finalize the Zap. From now on, your form data can be automatically sent to Notion whenever your form is submitted.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;I hope this article helps you automate your workflow and give a different way to collect form submissions on Notion&lt;/p&gt;

&lt;p&gt;If you like this article, then please share and follow us on &lt;a href="https://www.facebook.com/getformio"&gt;Facebook&lt;/a&gt; and &lt;a href="https://twitter.com/getformio"&gt;Twitter&lt;/a&gt; for more updates from our blog.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ready to start?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Get started with &lt;a href="https://getform.io?utm_source=dev.to&amp;amp;utm_medium=website&amp;amp;utm_campaign=dev.to-notion-article"&gt;Getform&lt;/a&gt; by creating your first form and send an email to multiple recipients with only couple of clicks.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Create a Simple HTML Form That Sends You an Email</title>
      <dc:creator>Mertcan Yücel</dc:creator>
      <pubDate>Sun, 25 Apr 2021 16:34:12 +0000</pubDate>
      <link>https://dev.to/mertcanyucel/how-to-create-a-simple-html-form-that-sends-you-an-email-1mbd</link>
      <guid>https://dev.to/mertcanyucel/how-to-create-a-simple-html-form-that-sends-you-an-email-1mbd</guid>
      <description>&lt;p&gt;&lt;em&gt;Cover Photo by &lt;a href="https://unsplash.com/@melindagimpel?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Melinda Gimpel&lt;/a&gt; on &lt;a href="https://unsplash.com/s/photos/email?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This article has been originally posted on &lt;a href="https://blog.getform.io/how-to-create-an-html-form-that-sends-you-an-email/?utm_source=dev.to&amp;amp;utm_medium=website&amp;amp;utm_campaign=devto-html-form-email-article"&gt;Getform Blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;Dealing with improved UX can cost time and money. Oftentimes, problems your website visitors have simple tweaks to fix. This brings the following question:&lt;/p&gt;

&lt;p&gt;"How do you find out if customers are enjoying the experience of your website?"&lt;/p&gt;

&lt;p&gt;The answer may be simpler than you think. Strategically placed, thoughtfully-made web forms are critical for solving dissatisfaction in customer's experiences and understand whether they are enjoying the experience you have created for them.&lt;/p&gt;

&lt;p&gt;If you don't have a form on your website, you could be missing out on more leads, higher conversions, and happier long-term customers. We're going to walk you through how to create a certain type of form --- &lt;em&gt;one that sends an email to you&lt;/em&gt;, as well as the customer, to ensure the form was received.&lt;/p&gt;

&lt;p&gt;We will be starting with the old and dirty way, then we'll show the easiest and most customizable way using &lt;a href="https://getform.io?utm_source=dev.to&amp;amp;utm_medium=website&amp;amp;utm_campaign=html-form-to-email-article"&gt;Getform&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Get Email from an HTML Form
&lt;/h2&gt;

&lt;p&gt;Let's first start with the basics.&lt;/p&gt;

&lt;h3&gt;
  
  
  Option-1: Using the Basics of HTML
&lt;/h3&gt;

&lt;p&gt;Sending an email using just HTML after form submit. Here is a sample code to use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- Sample HTML Form --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"mailto:contact@yourdomain.com"&lt;/span&gt;
&lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;
&lt;span class="na"&gt;enctype=&lt;/span&gt;&lt;span class="s"&gt;"multipart/form-data"&lt;/span&gt;
&lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"EmailForm"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    Name:&lt;span class="nt"&gt;&amp;lt;br&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;size=&lt;/span&gt;&lt;span class="s"&gt;"19"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"Contact-Name"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;
    Email:&lt;span class="nt"&gt;&amp;lt;br&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"Contact-Email"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;
    Message:&lt;span class="nt"&gt;&amp;lt;br&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;textarea&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"Contact-Message"&lt;/span&gt; &lt;span class="na"&gt;rows=&lt;/span&gt;&lt;span class="s"&gt;"6"&lt;/span&gt; &lt;span class="na"&gt;cols=&lt;/span&gt;&lt;span class="s"&gt;"20"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/textarea&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"Submit"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Send&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;p&gt;&lt;code&gt;Simple HTML Form that "Triggers" an Email.&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;This sample HTML code will create a form that asks for the contact's name, email and message, and includes a button to submit to form.&lt;/p&gt;

&lt;p&gt;Another thing to note with this code is that it doesn't directly send to email addresses, but it opens an email client or tool window to submit the form.&lt;/p&gt;

&lt;p&gt;While you &lt;em&gt;can&lt;/em&gt; use just basic HTML, this isn't the ideal option. Because browsers would allow you to route form submissions directly to an email address. However, the reason they don't is that emailing directly from an HTML web form would reveal the visitor's email address, making the user vulnerable to malicious activities, such as phishing.&lt;/p&gt;

&lt;p&gt;Another problem with the &lt;em&gt;mailto:&lt;/em&gt; option is that it isn't 100% compatible with all browsers, it isn't very user-friendly, and it's not possible to control the formatting of the data when the form is sent by the browser.&lt;/p&gt;

&lt;p&gt;Let's move on to the second option.&lt;/p&gt;

&lt;h3&gt;
  
  
  Option-2: Managing your own Form backend. Really?
&lt;/h3&gt;

&lt;p&gt;This is a more technical and a &lt;em&gt;dirty&lt;/em&gt; way which definitely requires specific technical skills. Also can take your time and effort. To make your form work with your email server and send it to a mailbox, backend framework, in this case PHP, is the answer.&lt;/p&gt;

&lt;p&gt;When the form is submitted, the browser sends the information to the backend using the link mentioned in the "action" attribute of the form tag, sending the form data to that URL.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use PHP to create a new page
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  When you're creating a webpage, instead of using the ".html" extension, type ".php" instead.&lt;/li&gt;
&lt;li&gt;  By doing this, the server will know to host the PHP you write. Instead of saving the empty HTML page as such, save it as something like this: "subscriberform.php". After your page is created and saved, you'll then be able to create the form.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Use PHP to create a new page
&lt;/h3&gt;

&lt;p&gt;In this step, you'll write the code to create the form. The following code is what's needed for a basic form:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- Sample HTML Form --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"post"&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"subscriberform.php"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;textarea&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/textarea&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Because this is similar to the HTML-only write-up, these lines will also create a name for the form and an area for subscribers to type a custom message and send it to you.&lt;/p&gt;

&lt;p&gt;An important difference is the &lt;em&gt;"action=contact.php"&lt;/em&gt; part. This portion of code is what will make the page send the form when submitted. This is the added part to the first option.&lt;/p&gt;

&lt;h3&gt;
  
  
  Make forms send email
&lt;/h3&gt;

&lt;p&gt;After you create the form and add all the proper fixings depending on your design preferences, it's time to create the email part. To enable sending data in the email, we have to add code that will process the data. Copy the following code or create something similar:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$_POST&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"Message"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="nb"&gt;mail&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"john@johndoe.com"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"Here is the sample subject line"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="nv"&gt;$_POST&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"Insert Your Message"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt; &lt;span class="s2"&gt;"From: jane@janedoe.com"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Recall that everything inside the first and last lines will tell the webpage to make these functions perform as PHP. This code also checks to see if a subscriber uses the form. From there, it checks to see if the form was sent.&lt;/p&gt;

&lt;p&gt;If we break down the code above.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  "mail()" part sends the completed form as an email to "&lt;a href="mailto:john@johndoe.com"&gt;john@johndoe.com&lt;/a&gt;" and the subject line is what follows.&lt;/li&gt;
&lt;li&gt;  In the next line, you can write copy of the email message inside the quotes, to be sent from whichever email address you choose. In this case from "&lt;a href="mailto:jane@janedoe.com"&gt;jane@janedoe.com&lt;/a&gt;"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once the form is submitted, the page sends the data to itself. If the data has been successfully sent, the page sends it as an email. The browser then loads the page's HTML -- the form included.&lt;/p&gt;

&lt;p&gt;Managing your own form backend can be messy and not an optimal option to go with. This brings us to the third and the easiest option.&lt;/p&gt;

&lt;h3&gt;
  
  
  Option-3: Using a form backend platform like Getform
&lt;/h3&gt;

&lt;p&gt;We know that the first option is not really helpful and the second option is definitely not an easy one and also not for everyone.&lt;/p&gt;

&lt;p&gt;That's why form backend platforms like &lt;a href="https://getform.io?utm_source=dev.to&amp;amp;utm_medium=website&amp;amp;utm_campaign=html-form-to-email-article"&gt;Getform&lt;/a&gt; is a great way to make your HTML forms sending an email. Another advantage of a form backend platform is that they don't have any framework or language dependency and works well with static sites like Hugo, Gatsby, 11ty and Jekyll.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Creating a form on Getform&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Any form that is created on Getform can easily send an email to multiple recipients. Let's setup a form that sends an email to multiple recipients.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Login to your form dashboard and create a form called "HTML Email Form". Here's how your dashboard looks like after you create your form:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_CZUfqON--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8gpxj7mab516vusdyqx9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_CZUfqON--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8gpxj7mab516vusdyqx9.png" alt="HTML Email Form"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Getform automatically creates a unique form endpoint and shows a simple HTML form code with it.&lt;/li&gt;
&lt;li&gt;  We will change our HTML a little to make it usable on any HTML page. Sample code below is a sample form code with 3 basic fields;  fullname, email and message fields.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/getform/embed/YzyRKGr?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  At this point we are ready to fill out our sample form to start receiving our first submissions.&lt;/li&gt;
&lt;li&gt;  After we fill it and click "Submit", your data will automatically be sent to Getform and look like below:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eJQvoSVT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lj6cij9j5kpkmxvrb43z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eJQvoSVT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lj6cij9j5kpkmxvrb43z.png" alt="HTML Form to Email Getform"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Setting up an email notification for your form&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We have successfully received our first submission. But our form is still not sending us an email. Let's setup an email notification.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Head over to "Settings" and select "Notifications".&lt;/li&gt;
&lt;li&gt;  On "Email Notification" section, you have a text field which you can enter email addresses that you want to receive submission notifications. For our case, we have entered "&lt;a href="mailto:info@getform.io"&gt;info@getform.io&lt;/a&gt;" and "&lt;a href="mailto:help@getform.io"&gt;help@getform.io&lt;/a&gt;". Click "Save Changes" to finalize this step.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Tgw2gVnJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2020/07/image-3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Tgw2gVnJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2020/07/image-3.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Let's send another submission to our form and see if these email addresses will receive the submission data as an email&lt;/li&gt;
&lt;li&gt;  And more importantly, the submission email arrived to the email addresses we. have entered!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We have created an HTML form that sends you an email with couple of clicks. It's that easy and for free!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Setting up custom email notifications&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you want a full control of the email which you're sending from your HTML form, Getform has "Custom Email Notification" option.&lt;/p&gt;

&lt;p&gt;After you successfully receive your first form submission, your custom email template section will have email, name and message form fields as embeddable tags. You should use double brackets with the related fields. For example, if you have an input named as email, you can inject its value by writing email to the template.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  When you receive a new submission to your form, your email notification will be sent to your registered email with your new setup. The sample email template will look like this:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5OjeLJQU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2020/07/image-6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5OjeLJQU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2020/07/image-6.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Setting up autoresponders for form submitters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Similar to Custom Email Templates, you can also send email autoresponses to your form submitters by setting autoresponse emails.&lt;/p&gt;

&lt;p&gt;After you successfully receive your first form submission, your autoresponder email template section will have email, name and message form fields as embeddable tags. Please note that your form needs to contain type="email" field to be able to receive the email address to send the autoresponse mails.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  When you receive a new submission to your form, your autoresponse email willl be sent to your form submitter. The sample autoresponder will look like this:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Hg1Xd1f---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2020/07/image-7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Hg1Xd1f---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2020/07/image-7.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Option 3 provides a much easier workaround for basic email sending from your HTML form and also gives you the capability to setup custom email notifications and custom autoresponders to help you create a complete form experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;I hope this article helped you learn the easiest way to send an email from an HTML form. &lt;/p&gt;

&lt;p&gt;If you like this article, then please share and follow us on &lt;a href="https://www.facebook.com/getformio"&gt;Facebook&lt;/a&gt; and &lt;a href="https://twitter.com/getformio"&gt;Twitter&lt;/a&gt; for more updates from our blog.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ready to start?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Get started with &lt;a href="https://getform.io?utm_source=dev.to&amp;amp;utm_medium=website&amp;amp;utm_campaign=html-form-to-email-article"&gt;Getform&lt;/a&gt; by creating your first form and send an email to multiple recipients with only couple of clicks.&lt;/p&gt;

</description>
      <category>html</category>
      <category>webdev</category>
      <category>codenewbie</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Building  forms with Next.js and Getform</title>
      <dc:creator>Mertcan Yücel</dc:creator>
      <pubDate>Sun, 18 Apr 2021 12:17:41 +0000</pubDate>
      <link>https://dev.to/mertcanyucel/building-forms-with-next-js-and-getform-5f3b</link>
      <guid>https://dev.to/mertcanyucel/building-forms-with-next-js-and-getform-5f3b</guid>
      <description>&lt;p&gt;&lt;em&gt;This post is originally posted on &lt;a href="https://blog.getform.io/building-nextjs-forms-using-getform/?utm_source=dev.to&amp;amp;utm_medium=website&amp;amp;utm_campaign=nextjs-article"&gt;Getform Blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nextjs.org/" rel="noopener noreferrer"&gt;Next.js&lt;/a&gt; is a React based front-end framework created by &lt;a href="https://vercel.com/" rel="noopener noreferrer"&gt;Vercel&lt;/a&gt; for developing search engine friendly static and dynamic web applications. It enables functionality such as server-side rendering and generating static sites.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://getform.io?utm_source=dev.to&amp;amp;utm_medium=website&amp;amp;utm_campaign=nextjs-article"&gt;Getform&lt;/a&gt; is a modern form backend platform which lets you handle HTML form submissions on any website or application. It works perfectly for static site form management and acts as a data manager for online forms.&lt;/p&gt;

&lt;p&gt;In this article, we'll cover how to add a static file upload form to your NextJS site using Getform and deploy the ready site with functioning form using Vercel.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to build NextJS forms using Getform
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Create a Getform account and generate new form endpoint
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  Visit &lt;a href="https://getform.io?utm_source=dev.to&amp;amp;utm_medium=website&amp;amp;utm_campaign=nextjs-article"&gt;https://getform.io &lt;/a&gt;to create a new account.&lt;/li&gt;
&lt;li&gt;  After you login to your account, create a new form endpoint by clicking the "+" button.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fblog.getform.io%2Fcontent%2Fimages%2F2021%2F04%2Fimage.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fblog.getform.io%2Fcontent%2Fimages%2F2021%2F04%2Fimage.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Name your form e.g. "Contact Form for NextJS Site" and save it. With that form created, your unique form endpoint is now ready to be inserted to your NextJS form.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fblog.getform.io%2Fcontent%2Fimages%2F2021%2F04%2Fnextjs-file-upload-form.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fblog.getform.io%2Fcontent%2Fimages%2F2021%2F04%2Fnextjs-file-upload-form.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Create a Next.js app
&lt;/h3&gt;

&lt;p&gt;To start off, we need a new Next.js app from scratch. To do this, you can navigate to where you want to create the app and run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;yarn create next-app &lt;span class="o"&gt;[&lt;/span&gt;project-name]
&lt;span class="c"&gt;#or&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;npx create-next-app &lt;span class="o"&gt;[&lt;/span&gt;project-name]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;at this point, you will be asked to give a name to your app. In this example, we will be naming as "my-nextjs-getform-form".&lt;/p&gt;

&lt;p&gt;Once Next.js finishes installing dependencies, it'll give you instructions to navigate to your project directory and start your development server.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;my-nextjs-getform-form
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And after you run &lt;code&gt;yarn dev&lt;/code&gt; or &lt;code&gt;npm run dev&lt;/code&gt;, you should be ready to go with your Next.js app:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fblog.getform.io%2Fcontent%2Fimages%2F2021%2F04%2Fimage-2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fblog.getform.io%2Fcontent%2Fimages%2F2021%2F04%2Fimage-2.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Adding an HTML form to your NextJS app
&lt;/h3&gt;

&lt;p&gt;For our form, we can really use whatever we want. Contact forms can be as simple as an email address, name and message fields or it include a variety of options to help a business answer specific questions.&lt;/p&gt;

&lt;p&gt;In this example, we are going to ask our visitors to leave their full name, email address, tell us their favourite devops platform among Bitbucket, Github and Gitlab and lastly ask them to send over their resumes.&lt;/p&gt;

&lt;p&gt;Create a new js file and name it as contact.js file under pages directory, change its content with the following code block:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;axios&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;axios&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;GETFORM_FORM_ENDPOINT&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://getform.io/{your-form-endpoint}&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;Form&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;formStatus&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setFormStatus&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setQuery&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
        &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;email&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;platform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;

    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleFileChange&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nf"&gt;setQuery&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;prevState&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt;
            &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;prevState&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;files&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;files&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="p"&gt;}));&lt;/span&gt;
    &lt;span class="p"&gt;};&lt;/span&gt;

    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleChange&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nf"&gt;setQuery&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;prevState&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt;
            &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;prevState&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt;
        &lt;span class="p"&gt;}));&lt;/span&gt;
    &lt;span class="p"&gt;};&lt;/span&gt;

    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleSubmit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;preventDefault&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;formData&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;FormData&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="nb"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;entries&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(([&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nx"&gt;formData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;});&lt;/span&gt;

        &lt;span class="nx"&gt;axios&lt;/span&gt;
            &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
                &lt;span class="nx"&gt;GETFORM_FORM_ENDPOINT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="nx"&gt;formData&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;Accept&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
            &lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;function &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="nf"&gt;setFormStatus&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
                &lt;span class="nf"&gt;setQuery&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
                    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                    &lt;span class="na"&gt;email&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                    &lt;span class="na"&gt;platform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;
                &lt;span class="p"&gt;});&lt;/span&gt;
                &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="p"&gt;})&lt;/span&gt;
            &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;function &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="p"&gt;});&lt;/span&gt;
    &lt;span class="p"&gt;};&lt;/span&gt;
    &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;container-md&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Getform&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;io&lt;/span&gt; &lt;span class="nx"&gt;Next&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;js&lt;/span&gt; &lt;span class="nx"&gt;File&lt;/span&gt; &lt;span class="nx"&gt;Upload&lt;/span&gt; &lt;span class="nx"&gt;Form&lt;/span&gt; &lt;span class="nx"&gt;Example&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/h2&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;form&lt;/span&gt;
                &lt;span class="nx"&gt;acceptCharset&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;UTF-8&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                &lt;span class="nx"&gt;method&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                &lt;span class="nx"&gt;enctype&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;multipart/form-data&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ajaxForm&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                &lt;span class="nx"&gt;onSubmit&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleSubmit&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;form-group mb-2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;label&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;exampleInputEmail1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Email&lt;/span&gt; &lt;span class="nx"&gt;address&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/label&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt;
                        &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;email&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;form-control&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;exampleInputEmail1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;aria&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;describedby&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;emailHelp&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;placeholder&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Enter email&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;required&lt;/span&gt;
                        &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;email&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;email&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
                        &lt;span class="nx"&gt;onChange&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;handleChange&lt;/span&gt;&lt;span class="p"&gt;()}&lt;/span&gt;
                    &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;form-group mb-2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;label&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;exampleInputName&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Name&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/label&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt;
                        &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;form-control&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;exampleInputName&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;placeholder&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Enter your name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;required&lt;/span&gt;
                        &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
                        &lt;span class="nx"&gt;onChange&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;handleChange&lt;/span&gt;&lt;span class="p"&gt;()}&lt;/span&gt;
                    &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;form-group&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;label&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;exampleFormControlSelect1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Favourite&lt;/span&gt; &lt;span class="nx"&gt;Platform&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/label&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;select&lt;/span&gt;
                        &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;form-control&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;exampleFormControlSelect1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;required&lt;/span&gt;
                        &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;platform&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                        &lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;platform&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
                        &lt;span class="nx"&gt;onChange&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;handleChange&lt;/span&gt;&lt;span class="p"&gt;()}&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;option&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Github&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/option&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;option&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Gitlab&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/option&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;option&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Bitbucket&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/option&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/select&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;hr&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;form-group mt-3&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;label&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;mr-2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Upload&lt;/span&gt; &lt;span class="nx"&gt;your&lt;/span&gt; &lt;span class="nx"&gt;CV&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/label&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;file&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;file&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;onChange&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;handleFileChange&lt;/span&gt;&lt;span class="p"&gt;()}&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;hr&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;formStatus&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-success mb-2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="nx"&gt;Your&lt;/span&gt; &lt;span class="nx"&gt;message&lt;/span&gt; &lt;span class="nx"&gt;has&lt;/span&gt; &lt;span class="nx"&gt;been&lt;/span&gt; &lt;span class="nx"&gt;sent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
                    &lt;span class="dl"&gt;""&lt;/span&gt;
                &lt;span class="p"&gt;)}&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;submit&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;btn btn-primary&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Submit&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/button&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/form&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;Form&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There are several things to check for the code block above:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  We are using &lt;a href="https://github.com/axios/axios" rel="noopener noreferrer"&gt;Axios&lt;/a&gt; to submit our form. You need to add axios to your repository by running &lt;code&gt;yarn add axios&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;  We are using Bootstrap classes on our form, so if you wish to keep using them, add bootstrap to your repository by running  &lt;code&gt;yarn add react-bootstrap bootstrap&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;  After successfully installing the bootstrap, add &lt;code&gt;import 'bootstrap/dist/css/bootstrap.min.css&lt;/code&gt; to  &lt;code&gt;_app.js&lt;/code&gt; under the pages directory.&lt;/li&gt;
&lt;li&gt;  const GETFORM_FORM_ENDPOINT section is to point your Getform form endpoint. You can change it to one that you have generated on Step 0 while creating your form endpoint.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here's how your form should look like at &lt;em&gt;localhost:3000/contact&lt;/em&gt; if you have followed along.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fblog.getform.io%2Fcontent%2Fimages%2F2021%2F04%2Fimage-3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fblog.getform.io%2Fcontent%2Fimages%2F2021%2F04%2Fimage-3.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Test your form by submitting a sample form submission!
&lt;/h3&gt;

&lt;p&gt;Our contact page is ready to receive submissions now. Lets fill out the fields and press submit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fblog.getform.io%2Fcontent%2Fimages%2F2021%2F04%2Fimage-4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fblog.getform.io%2Fcontent%2Fimages%2F2021%2F04%2Fimage-4.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once it's submitted, here's how it looks on your Getform dashboard:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fblog.getform.io%2Fcontent%2Fimages%2F2021%2F04%2Fimage-5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fblog.getform.io%2Fcontent%2Fimages%2F2021%2F04%2Fimage-5.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Uploaded files along with the submissions can be found and previewed under the Files tab.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fblog.getform.io%2Fcontent%2Fimages%2F2021%2F04%2Fimage-6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fblog.getform.io%2Fcontent%2Fimages%2F2021%2F04%2Fimage-6.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can learn more about file upload forms and supported preview file types on the following documentation link&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.getform.io/installations/file-upload-form-installation/" rel="noopener noreferrer"&gt;File Upload Form Installation | Getform Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it! Your Next.js app is now using Getform to handle form backend.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Deploy your Next.js form to Vercel (Optional)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://vercel.com/" rel="noopener noreferrer"&gt;Vercel&lt;/a&gt; provides a super simple platform to deploy serverless applications. And it's out of the box support for NextJs makes it even easier.&lt;/p&gt;

&lt;p&gt;First install the now platform globally&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;npm i &lt;span class="nt"&gt;-g&lt;/span&gt; now
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And then simply type &lt;code&gt;now&lt;/code&gt; to deploy your application to the platform.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;now
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once the deployment is complete you should receive url to test your application online, something similar to &lt;a href="https://nextjs-getform-example-mertcanyucel.vercel.app/" rel="noopener noreferrer"&gt;https://nextjs-getform-example-mertcanyucel.vercel.app/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can run the &lt;code&gt;now&lt;/code&gt; platform locally using the following command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;now dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can find the source code of this tutorial &lt;a href="https://github.com/getform/nextjs-getform-example" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What else can you do with Getform?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Setting up email notifications&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you wish to receive an email everytime a visitor submits to you form, you can setup email notifications using the email notification plugin.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.getform.io/plugins/" rel="noopener noreferrer"&gt;Email Notification Plugin | Getform Documentation&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Setting up advanced workflows using Zapier&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Getform lets you integrate with other tools to allow you to wrangle your form submissions. Using Zapier integration, you can accept incoming submissions and connect with more 1500+ applications.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.getform.io/integrations/" rel="noopener noreferrer"&gt;Zapier Integration | Getform Documentation&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Preventing spam with reCAPTCHA integration&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Spam is also a real thing. You don't want your inbox flooded with spam, so you can take advantage of Getform's Google reCaptcha Integration for both of the reCaptcha versions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://docs.getform.io/installations/spam-protection/recaptcha-v2/" rel="noopener noreferrer"&gt;v2 reCaptcha Setup Guide&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://docs.getform.io/installations/spam-protection/recaptcha-v3/" rel="noopener noreferrer"&gt;v3 reCaptcha Setup Guide&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;If you would like help setting up Getform on your Next.js apps, feel free to reach us out at &lt;a href="mailto:info@getform.io"&gt;info@getform.io&lt;/a&gt;&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>tutorial</category>
      <category>html</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to integrate your HTML Form to Airtable</title>
      <dc:creator>Mertcan Yücel</dc:creator>
      <pubDate>Sat, 10 Apr 2021 20:17:47 +0000</pubDate>
      <link>https://dev.to/mertcanyucel/how-to-integrate-your-html-form-to-airtable-1fjd</link>
      <guid>https://dev.to/mertcanyucel/how-to-integrate-your-html-form-to-airtable-1fjd</guid>
      <description>&lt;p&gt;&lt;em&gt;This post is originally posted on &lt;a href="https://blog.getform.io/how-to-integrate-your-html-form-to-airtable/" rel="noopener noreferrer"&gt;Getform Blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When your website visitors or customers fill out your contact form on the website, you will likely need to store and organize these form submissions properly to speed up your response process and analyze the form data in the best way. If you don't want to add your contact form data to your database or spreadsheet manually every single time, then you can integrate &lt;a href="https://docs.getform.io/?ref=blog-getform-airtable-article" rel="noopener noreferrer"&gt;Getform&lt;/a&gt; with Airtable!&lt;/p&gt;

&lt;p&gt;After having your HTML form and form backend ready with Getform, this integration will automatically create a new record in your Airtable database with all the data you are trying to organize from each new submission received on your contact form. So that your form data will be effortlessly ready to be processed with Airtable's capabilities!&lt;/p&gt;

&lt;p&gt;Before we get into details of how to set up Getform-Airtable integration, let's give a brief introduction on the most flexible tool for organizing any kind of data and explain what is Airtable used for;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://airtable.com/" rel="noopener noreferrer"&gt;Airtable&lt;/a&gt; is a user-friendly software platform that offers you the powerful features of a database and works like a spreadsheet. The hybrid structure of the Airtable app gives you the full flexibility that allows businesses to store and organize any set of data. You can use Airtable for project management, customer relationship management (CRM), tracking inventories, task management, and more.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to create new Airtable Records from Contact Form Submissions
&lt;/h3&gt;

&lt;p&gt;Prerequisite: You need to have at least one form created and one form submission received to your form on Getform. If you haven't received your first submission yet, check out the &lt;a href="https://getform.io/docs/collecting-submissions/collecting-form-submissions" rel="noopener noreferrer"&gt;"Collecting form submissions"&lt;/a&gt; section on our docs or watch our helper &lt;a href="https://www.youtube.com/watch?v=bQ5QmaQT0Wk" rel="noopener noreferrer"&gt;video here&lt;/a&gt; to get started.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Sign in to your Getform account here: &lt;a href="https://app.getform.io/login" rel="noopener noreferrer"&gt;https://getform.io/login&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt; Click the "+" button to create a new form that we will integrate into your specific Airtable base and table. Let's name the form as "&lt;em&gt;Customer Support&lt;/em&gt;".&lt;/li&gt;
&lt;li&gt; With that form created, your unique form endpoint is now ready to be inserted into your HTML form. Let's add our form and start getting our first submissions. Here is how your HTML form should look like at this point:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://getform.io/f/{your-unique-form-endpoint-goes-here}"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt; &lt;span class="na"&gt;accept-charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Name*"&lt;/span&gt; &lt;span class="na"&gt;required=&lt;/span&gt;&lt;span class="s"&gt;"required"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Email*"&lt;/span&gt; &lt;span class="na"&gt;required=&lt;/span&gt;&lt;span class="s"&gt;"required"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"phone"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"1-(555)-555-5555"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"url"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"url"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"https://example.com"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Message*"&lt;/span&gt; &lt;span class="na"&gt;required=&lt;/span&gt;&lt;span class="s"&gt;"required"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Submit&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and with a little bit of styling here is how your Contact Form looks like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2FBsYesvzQERe9G4TD-Q5FOh7msj1LjlzYqbHl1UWVSp6JGy5Nxfp5lvhGQ76EJe7THyBSS80sAKwdjAthwr-E8DzooHzJE2zXSGG_WeWiM6BY93Jp8Doi1dEUT61vBFSd7CnIR8Ye" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2FBsYesvzQERe9G4TD-Q5FOh7msj1LjlzYqbHl1UWVSp6JGy5Nxfp5lvhGQ76EJe7THyBSS80sAKwdjAthwr-E8DzooHzJE2zXSGG_WeWiM6BY93Jp8Doi1dEUT61vBFSd7CnIR8Ye"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4. After we submit to the form, here is how the Getform form data looks like:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2F0A5Lzyuz-BrREcWkU_lCA5vR6xUROoEKcuOty3Hsqfxxc4lJXg1pIqqb-7lCO8yti-MeZTEoIrnL7Dc4ks9q6oHSpmFJHVCHycF9h6H2CPOXQS2hNdx9nPzKSwiV1GQASTniReSr" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2F0A5Lzyuz-BrREcWkU_lCA5vR6xUROoEKcuOty3Hsqfxxc4lJXg1pIqqb-7lCO8yti-MeZTEoIrnL7Dc4ks9q6oHSpmFJHVCHycF9h6H2CPOXQS2hNdx9nPzKSwiV1GQASTniReSr"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5. It's time to go to Airtable and create a new base and table to bring your form submission data together in the right place. Let's give the name "&lt;em&gt;Customer Support&lt;/em&gt;"  to our new Airtable base and "&lt;em&gt;Contact Form Data&lt;/em&gt;" to the new table as we will be using Getform and Airtable to automate our contact form submissions collection.&lt;/p&gt;

&lt;p&gt;(You can skip this step if you want to receive your form submissions to one of your created Airtable bases and tables.)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh4.googleusercontent.com%2F96YWk8_Xw8yQTTHhqnmBvWyCE2Ps5Ak3__FrELiUsNFfgMLLAxyK0vlQOS3jjd4sxEfqBfTuDsWWV5uBcLkyr1Hv3Qr4jFf28DElGD5Ja2_owNPpo7FsNE5h19JQ9eq4fWxdLPvO" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh4.googleusercontent.com%2F96YWk8_Xw8yQTTHhqnmBvWyCE2Ps5Ak3__FrELiUsNFfgMLLAxyK0vlQOS3jjd4sxEfqBfTuDsWWV5uBcLkyr1Hv3Qr4jFf28DElGD5Ja2_owNPpo7FsNE5h19JQ9eq4fWxdLPvO"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;6. Now, let's create and customize new fields in our Contact Form Data table based on the fields in our contact form for sending the related form data to the related Airtable field.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh4.googleusercontent.com%2FJEpuWPfj4tzT5UaAipVJvhc7b15Bzi6eg5oM42HXR-9LwLOyBY4jA5dDH0lTFJMezgBK91B7d6eRgPXL_aahIJb7xCjzsd5ocuIWIxssXhO_6Xrf9ufYmkFPncgY5kogGrDvzGsU" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh4.googleusercontent.com%2FJEpuWPfj4tzT5UaAipVJvhc7b15Bzi6eg5oM42HXR-9LwLOyBY4jA5dDH0lTFJMezgBK91B7d6eRgPXL_aahIJb7xCjzsd5ocuIWIxssXhO_6Xrf9ufYmkFPncgY5kogGrDvzGsU"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Airtable offers various field types to customize your table according to your needs such as email, URL, checkbox, date, collaborator field types, and more. In addition to that, you can also use the Airtable linked records feature to link any of your fields to any other record that you have in different tables.&lt;/p&gt;

&lt;p&gt;Now, our form backend is ready to integrate with our Airtable base and table by using Zapier!&lt;/p&gt;

&lt;p&gt;7. On your Getform dashboard, navigate to the "&lt;em&gt;Integrations&lt;/em&gt;" tab and click "&lt;em&gt;Connect with Zapier&lt;/em&gt;" to start setting up our Getform-Airtable Zap.&lt;/p&gt;

&lt;p&gt;8. Search for Airtable on the opening screen and go there. On the Airtable page, select &lt;em&gt;"New Submission"&lt;/em&gt; on the &lt;em&gt;"Select a trigger"&lt;/em&gt; field and pick &lt;em&gt;"Create Record"&lt;/em&gt; on the &lt;em&gt;"Select an action"&lt;/em&gt; field. Then you just need to click the &lt;em&gt;"Connect Getform + Airtable"&lt;/em&gt; button to start setting up the integration. Click on the "&lt;em&gt;Go to Advanced Mode&lt;/em&gt;" button on the next opening screen.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2F-yBsV9NaZmc992MwpKdrz92u-CwprEcLNSx9hHJrynAJAwwq1zBrvSucdI-B66Y_leA7rQ00JD65dUVqNSkDP36DAGAGS1LWO6-Bg5ziY4iSSXzSzh79y6BPntUgAm15iGfDmsWS" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2F-yBsV9NaZmc992MwpKdrz92u-CwprEcLNSx9hHJrynAJAwwq1zBrvSucdI-B66Y_leA7rQ00JD65dUVqNSkDP36DAGAGS1LWO6-Bg5ziY4iSSXzSzh79y6BPntUgAm15iGfDmsWS"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To connect your Getform account to your zap, just paste the API Key you copied from the &lt;em&gt;"Integrations" *tab and click the &lt;/em&gt;"Yes, Continue" *button. Then we will select our form's name to connect with our Airtable base as follows:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2FjUlBPNGNG4bm4QvcGkALqpkJ2jJ42HWCOSaoRkBHt6eQrbFKvZfboOB_dCSDlWfTU4EQM65Y2IUPhsntGybDxzRQCroLaV4kkxJIZMVKLD0YCcVem9fqhhu9cH9PBt2eQhyOiMwH" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh3.googleusercontent.com%2FjUlBPNGNG4bm4QvcGkALqpkJ2jJ42HWCOSaoRkBHt6eQrbFKvZfboOB_dCSDlWfTU4EQM65Y2IUPhsntGybDxzRQCroLaV4kkxJIZMVKLD0YCcVem9fqhhu9cH9PBt2eQhyOiMwH"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;9. After you finish setting up the Trigger step, you just need to click the *"Continue" *button in the Action stage since Zapier already selected the action app and event for you. Then you need to connect your Airtable account with your zap by using the API Key.                                                                                                                                     To find your API key, navigate to your account page in Airtable and On your account page, there's a button that says "Generate API key" under the API heading.&lt;/p&gt;

&lt;p&gt;10. We are so close to finalizing our integration! Let's set up an action by selecting our specific Airtable base and table. Then you can add your form submission info to the related fields that you created in Airtable as follows:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh4.googleusercontent.com%2FiAJ35Z6QbSB6qTkBtG_diLMCP-FLgxt2H2__MhpSRwpqFUhNh7i9giYvyClR5ry6WbeVmCzXtEFabg9EYtECEq9783kHD7kq8tHy_tzUFWczTNvojp7gAVoM2BMGUt-isAqmb0De" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh4.googleusercontent.com%2FiAJ35Z6QbSB6qTkBtG_diLMCP-FLgxt2H2__MhpSRwpqFUhNh7i9giYvyClR5ry6WbeVmCzXtEFabg9EYtECEq9783kHD7kq8tHy_tzUFWczTNvojp7gAVoM2BMGUt-isAqmb0De"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;11. Now our Zap is ready to test. Let's click on the &lt;em&gt;"Test&amp;amp;Continue"  *button and check our "*Contact Form Data&lt;/em&gt;" table on our "&lt;em&gt;Customer Support&lt;/em&gt;" Airtable base.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh5.googleusercontent.com%2Fbk8YcH4QSiPh_IlcS7uo-jDlOVnm0c6_mxKTSdMUN70Ux-cKhEDQHfhHoJxBaV5zpQg6kBYpNzbYiXBbHFw5ILclFfd6b3aob40SiLI3cAiz8Ztiv_P-slIDWR4YMbore7yDaWbd" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh5.googleusercontent.com%2Fbk8YcH4QSiPh_IlcS7uo-jDlOVnm0c6_mxKTSdMUN70Ux-cKhEDQHfhHoJxBaV5zpQg6kBYpNzbYiXBbHFw5ILclFfd6b3aob40SiLI3cAiz8Ztiv_P-slIDWR4YMbore7yDaWbd"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it!\&lt;br&gt;
Your HTML form has been connected and sent to your Airtable base and table successfully. From now on, your form data can be automatically sent to Airtable whenever your form is submitted.&lt;/p&gt;




&lt;p&gt;Thank you for reading! You can find more information and code samples for different use cases from the resources provided below.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://codepen.io/getform/?ref=dev.to-airtable"&gt;Codepen examples&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://codesandbox.io/u/omerozturkh/sandboxes/?ref=dev.to-airtable"&gt;Codesandbox examples&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://zapier.com/app-directory/getform/integrations/?ref=dev.to-airtable"&gt;Getform's Zapier page&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://docs.getform.io/?ref=dev.to-airtable"&gt;Getform Documentation&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>tutorial</category>
      <category>webdev</category>
      <category>getform</category>
      <category>airtable</category>
    </item>
    <item>
      <title>How to Add a Contact Form to Wix Website
</title>
      <dc:creator>Mertcan Yücel</dc:creator>
      <pubDate>Sun, 04 Apr 2021 19:38:42 +0000</pubDate>
      <link>https://dev.to/mertcanyucel/how-to-add-a-contact-form-to-wix-website-5fo6</link>
      <guid>https://dev.to/mertcanyucel/how-to-add-a-contact-form-to-wix-website-5fo6</guid>
      <description>&lt;p&gt;&lt;em&gt;This post is originally posted on &lt;a href="https://blog.getform.io/how-to-create-file-upload-forms-on-your-wix-website/"&gt;Getform Blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Wix is one of the best website builders and hosting platforms with distinctive features, thousands of ready-to-use templates and plugins. Wix's drag and drop editor allows you to create professional websites in a matter of minutes. It also comes with Wix ADI which is the first artificial design intelligence that can design and build a website for you according to your preferences.&lt;/p&gt;

&lt;p&gt;Wix offers Wix Forms to add and set up a form to collect information from your website visitors. Even though it is very useful with readymade form templates, Wix free doesn't allow users to fully customize their forms, and it limits the number and type of form fields such as adding a file upload field. At that point, users need a third-party service like Getform to get a taste of freedom to fully customise, design and manage their forms.&lt;/p&gt;

&lt;p&gt;In this blog post, we will explain how to create a contact form by using Wix templates and then show you how to add a contact form with a file upload field and full customization by using HTML and Getform.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to Create a Contact Form in Wix
&lt;/h3&gt;

&lt;p&gt;As we stated earlier, Wix offers 2 options for you to create a website; one is the Wix Editor with its default templates and the other one is Wix ADI. We will be using the Wix Editor to go step by step to build a Wix contact form.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; After choosing one of the Wix website templates, firstly you need to click on &lt;em&gt;"Add"  *section on the left side of the editor and then choose the &lt;/em&gt;"Contact &amp;amp; Forms"* section.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XZdHDwNa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/Screen-Shot-2021-03-30-at-22.37.39.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XZdHDwNa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/Screen-Shot-2021-03-30-at-22.37.39.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, Wix offers different types of forms such as Payment, Donation, Contest, etc. You can choose whichever form type you need and the design according to that. We will continue with the Contact form type.                             Just drag and drop the one you want to your Wix website.&lt;/p&gt;

&lt;p&gt;2. Now let's take a look at what we can change on our selected form template. Click on the form and then go to &lt;em&gt;"Form Settings"&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UwY7JJwU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/Screen-Shot-2021-03-30-at-22.39.51.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UwY7JJwU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/Screen-Shot-2021-03-30-at-22.39.51.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wix Forms allows you to set up email notifications to be alerted when someone submits your form, customize the submit message and create automated responses for your form submissions. It also offers to condition field types to have better form validation.&lt;/p&gt;

&lt;p&gt;3. If you want to change or add fields to your form, click on the &lt;em&gt;"Add New Field"&lt;/em&gt; button below your form.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IGRQf_34--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/Screen-Shot-2021-03-30-at-22.40.34.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IGRQf_34--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/Screen-Shot-2021-03-30-at-22.40.34.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wix allows you to add different kinds of form fields such as Radio buttons, multi checkboxes, dropdowns, and more. However, if you want to add more than 10 fields, remove the limitations on multistep field types or add a file upload field then you need to pay to upgrade your Wix plan.&lt;/p&gt;

&lt;p&gt;After making arrangements on your form, here's a basic example of how it might look like:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dLEl4XcE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh3.googleusercontent.com/YDO3CmtaXwjG4jDktd0TKBweW6_BAx75nKxz07Woq3I7HGTKbmw81tezJmAM3JckU7RJluDnRCXT6bmBSqY9CtdlMlkJKB7W5zzU6cJFAJzplwyauooqXwEumAIDdqpMenkJnkrq" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dLEl4XcE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh3.googleusercontent.com/YDO3CmtaXwjG4jDktd0TKBweW6_BAx75nKxz07Woq3I7HGTKbmw81tezJmAM3JckU7RJluDnRCXT6bmBSqY9CtdlMlkJKB7W5zzU6cJFAJzplwyauooqXwEumAIDdqpMenkJnkrq" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We managed to create a contact form by using the Wix Forms editor with ease.&lt;/p&gt;

&lt;p&gt;If you want more customization,  adding a file upload field or more without paying for an upgraded Wix plan, you can also add your contact form by embedding HTML codes to your Wix website and using a third-party service like &lt;a href="https://getform.io/"&gt;Getform&lt;/a&gt; to handle your form backend and form submissions.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to Add File Upload Forms to Wix by Using HTML and Getform
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt; In order to add your HTML contact form to your Wix website, you need to click the "&lt;em&gt;Add&lt;/em&gt;" Section on the left side of the editor and find the "&lt;em&gt;Embed&lt;/em&gt;" section. Then, go to "&lt;em&gt;Custom Embeds&lt;/em&gt;" and choose the "&lt;em&gt;Embed a Widget&lt;/em&gt;" option to add an embedded HTML element.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uPHo_L_P--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh5.googleusercontent.com/bti_ij--EX14qk-G1WW_LSFJ9OdEnvA8fbbx4q4F8tTy3Rd5kbOSyJFy0G_Jx-zLx2b7Trvnrb433r_a5vqveBrvs2YKpWrK738Xs9pFc_jv3-ODIcSml2JD3fyVnOEj-vZOoGD-" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uPHo_L_P--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh5.googleusercontent.com/bti_ij--EX14qk-G1WW_LSFJ9OdEnvA8fbbx4q4F8tTy3Rd5kbOSyJFy0G_Jx-zLx2b7Trvnrb433r_a5vqveBrvs2YKpWrK738Xs9pFc_jv3-ODIcSml2JD3fyVnOEj-vZOoGD-" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2. After that you just need to paste your HTML code in the blank space below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VKcmWTnA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh5.googleusercontent.com/TTWXqTXPmX2B42fM-_1J4m_UBOfbdWw7RtD68jUjKvrymALdXRUYDrAxRUCbGWMWpPP5EaOV2VrBBZthd512AIjLTmw-sWmFsmM9EL_v-nFhjHyi0WFk1v7mti4wwzXLBUlN3QpJ" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VKcmWTnA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh5.googleusercontent.com/TTWXqTXPmX2B42fM-_1J4m_UBOfbdWw7RtD68jUjKvrymALdXRUYDrAxRUCbGWMWpPP5EaOV2VrBBZthd512AIjLTmw-sWmFsmM9EL_v-nFhjHyi0WFk1v7mti4wwzXLBUlN3QpJ" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can use the following HTML code block for a detailed contact form with a file upload field;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"title"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Contact Us!&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;accept-charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://getform.io/f/{your-form-endpoint}"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt; &lt;span class="na"&gt;target=&lt;/span&gt;&lt;span class="s"&gt;"_blank"&lt;/span&gt; &lt;span class="na"&gt;enctype=&lt;/span&gt;&lt;span class="s"&gt;"multipart/form-data"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;'form-field'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;'form-label'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Name&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-input-container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-input"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"John Doe"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;'form-field'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;'form-label'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Email&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-input-container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-input"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"john@doe.com"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
       &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;'form-field'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;'form-label'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Phone Number&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-input-container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-input"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"number"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"phone"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"xxx-xxx-xxxx"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;'form-field'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;'form-label'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Company Url&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-input-container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-input"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"url"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"url"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"https://example.com"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
   &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;'form-field'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;'form-label'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Message&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-input-container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-input"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"message"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Your Message"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;'form-field'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;'form-label'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Upload a file&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-input-container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-input"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"file"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"file"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Upload your resume"&lt;/span&gt; &lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-button"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;SUBMIT&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
  &lt;span class="nc"&gt;.form-container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#ffffff00&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;95%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nc"&gt;.title&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;"Celias"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;"Helvetica Neue"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Helvetica&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Arial&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;text-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;text-transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;uppercase&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bold&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;letter-spacing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;.05em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding-bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nc"&gt;.form-label&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;"Celias"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;"Helvetica Neue"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Helvetica&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Arial&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;15px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1.42857143&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#000000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;box-sizing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;border-box&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;max-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin-top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin-bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bold&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nc"&gt;.form-input&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;box-sizing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;border-box&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;inherit&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;"Celias"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;"Helvetica Neue"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Helvetica&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Arial&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;45px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;10px&lt;/span&gt; &lt;span class="m"&gt;15px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;15px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#000000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#ffffff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1px&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt; &lt;span class="m"&gt;#000000&lt;/span&gt;
&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;4px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nc"&gt;.form-button&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt; &lt;span class="m"&gt;#000000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;16px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin-top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;15px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;800&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1.5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;3px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;16px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#ffffff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;text-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;pointer&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;-webkit-transition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;all&lt;/span&gt; &lt;span class="m"&gt;.15s&lt;/span&gt; &lt;span class="n"&gt;ease&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;transition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;all&lt;/span&gt; &lt;span class="m"&gt;.15s&lt;/span&gt; &lt;span class="n"&gt;ease&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Don't forget to change the action attribute to a form endpoint URL that you can get on Getform. If you haven't received your first submission yet, check out the &lt;a href="https://docs.getform.io/installations/"&gt;"Basic Installation"&lt;/a&gt; section on our docs or watch our helper &lt;a href="https://www.youtube.com/watch?v=YEH2GLFJhQY&amp;amp;t=25s&amp;amp;ab_channel=GetformGetform"&gt;video here&lt;/a&gt; to get started.&lt;/p&gt;

&lt;p&gt;Here's how our embedded contact form looks like;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X6f75pPa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh4.googleusercontent.com/qLdSB5KRaxCNLYacqRXbJYfOz4Y1jHN-4LshTgjNnfYhdjzYkPrNvlG1piTg45QCfhkvW_qFr2aQW8KksOww_nX2oYnUCCnwbnGxgnbc4LRjjms_1aCzqYDhDvdJ7ZDyjQUBPjCV" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X6f75pPa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh4.googleusercontent.com/qLdSB5KRaxCNLYacqRXbJYfOz4Y1jHN-4LshTgjNnfYhdjzYkPrNvlG1piTg45QCfhkvW_qFr2aQW8KksOww_nX2oYnUCCnwbnGxgnbc4LRjjms_1aCzqYDhDvdJ7ZDyjQUBPjCV" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You just managed to add a contact form with a file upload field that you can fully customize and design for your needs by just editing HTML codes!&lt;/p&gt;

&lt;p&gt;However, your form submissions still need a hand to be managed, stored, and automated properly. That's where &lt;a href="https://getform.io/"&gt;Getform&lt;/a&gt; comes into the stage.&lt;/p&gt;

&lt;p&gt;Let's submit and see how form submissions are sent to Getform:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--o-Y7lNpK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/wix-file-upload-form-getform.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--o-Y7lNpK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/wix-file-upload-form-getform.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it! All the form data along with uploaded file's preview is seen on Getform's dashboard.&lt;/p&gt;

&lt;p&gt;By having a Getform account, creating your form, and adding your form endpoint URL to the top of your HTML form code block as we did in the example above, you will have the advantages of;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Receiving email notifications when someone submits to your form,&lt;/li&gt;
&lt;li&gt;  Sending customized email autoresponses to your form submitters&lt;/li&gt;
&lt;li&gt;  Allowing you to preview and download the uploaded files.&lt;/li&gt;
&lt;li&gt;  Catching and removing any spam submissions by setting up a &lt;a href="https://getform.io/docs/collecting-submissions/spam-filtering-with-recaptcha"&gt;reCaptcha integration&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;  Connecting to Google Sheets, Dropbox, Google Drive, Pipedrive, Slack, and many more.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;P.S. If you are willing to go for more advanced integrations, you can also use &lt;a href="https://getform.io/docs/getform-api/authentication"&gt;Getform Submission API&lt;/a&gt; to integrate your form to any custom app or website you are building.&lt;/p&gt;

&lt;p&gt;We wanted to offer you different options to create your forms for your Wix website. You can directly use Wix Forms to create your form with default templates or if you need more customization without the cost of upgrading your Wix account, then you can use your own HTML contact form code and trust Getform to handle your form backend and form submissions.&lt;/p&gt;




&lt;p&gt;Thank you for reading! You can find more information and code samples for different use cases from the resources provided below.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://codepen.io/getform"&gt;Codepen examples&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://codesandbox.io/u/omerozturkh/sandboxes"&gt;Codesandbox examples&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://zapier.com/app-directory/getform/integrations"&gt;Getform's Zapier page&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://docs.getform.io/"&gt;Getform Documentation&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>wix</category>
      <category>forms</category>
    </item>
    <item>
      <title>How to create file upload forms in Squarespace
</title>
      <dc:creator>Mertcan Yücel</dc:creator>
      <pubDate>Sat, 03 Apr 2021 14:47:21 +0000</pubDate>
      <link>https://dev.to/mertcanyucel/how-to-create-file-upload-forms-in-squarespace-1db6</link>
      <guid>https://dev.to/mertcanyucel/how-to-create-file-upload-forms-in-squarespace-1db6</guid>
      <description>&lt;p&gt;&lt;em&gt;This post is originally posted on &lt;a href="https://blog.getform.io/how-to-setup-a-contact-form-on-squarespace/"&gt;Getform Blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.squarespace.com/"&gt;Squarespace&lt;/a&gt; is a popular website building and hosting platform. It provides software as a service for website building and hosting, and allows users to use pre-built website templates and drag-and-drop elements to create and modify webpages. Squarespace sets itself apart from other website-builders by combining ease of use with stylish, professional design.&lt;/p&gt;

&lt;p&gt;Even though Squarespace's core features appeals to a lot of website makers, experienced users might want more customization opportunities. Squarespace forms also don't support file and attachment uploads.  That's where you would need a third-party service like &lt;a href="https://getform.io/?ref=blog.getform.io"&gt;Getform&lt;/a&gt; to offer a wider variety of customization and design options as well as creating file upload forms for your Squarespace website.&lt;/p&gt;

&lt;p&gt;In this blog post, you'll learn how to build forms using Squarespace's default templates and how to make custom file upload forms using Getform.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to create a contact form in Squarespace
&lt;/h2&gt;

&lt;p&gt;While building your Squarespace, you don't need any coding skills. Most of the Squarespace templates have built-in contact pages and form sections. But you might have more specific needs that require building your own form.&lt;/p&gt;

&lt;p&gt;Let's walk through setting up a simple contact form with Squarespace blocks. Squarespace uses Blocks to lay out content. You can find these by creating an empty page and clicking the "Add Section" button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jYb55TOL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2020/12/image-3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jYb55TOL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2020/12/image-3.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then click to "Form" from the side menu. Then, select the template based on your need from the ready made ones.&lt;/p&gt;

&lt;p&gt;Once you've chosen a form template, you can double click on it to start editing your form. You can change the name of the form, and specialize the fields or add a new one.&lt;/p&gt;

&lt;p&gt;These field include text areas, radio and select buttons. But there is no such field for file uploads.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9W2c4wyI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/squarespace-forms.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9W2c4wyI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/squarespace-forms.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Advanced options on this page lets you edit the label and alignment of the submit button. You can also change what happens after users submit the form by setting a redirect URL.&lt;/p&gt;

&lt;p&gt;That's all you need to do to create a simple functional form on Squares. But if you are looking for more customization, i.e file upload forms where you can enable file attachments on your, then you can make your own form from scratch.&lt;/p&gt;

&lt;p&gt;Here's what one of the default Squarespace forms looks like:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--L32p0pJB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/squarespace-form.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--L32p0pJB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/squarespace-form.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating Squarespace file upload forms using Code Blocks and Getform
&lt;/h2&gt;

&lt;p&gt;Squarespace's default form blocks give the basic capability of form management but they don't allow you to do high level of customization, especially if you need to add additional field types and file upload capabilities. If you need to enhance your form's capabilities, then your option is to use the &lt;a href="https://support.squarespace.com/hc/en-us/articles/206543167-Code-Blocks"&gt;"Code Blocks"&lt;/a&gt; in Squarespace.&lt;/p&gt;

&lt;p&gt;In the Squarespace page editor, click one of the "+" buttons to add new Content Block. It will look like below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iffIssuN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2020/12/image-1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iffIssuN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2020/12/image-1.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then select the "Code" option to add a new Code Block.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lao-TvJe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/image.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lao-TvJe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/image.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Code block section of Squarespace&lt;/p&gt;

&lt;p&gt;Paste the following HTML code block with Name, Email and Resume fields:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"title"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Apply Now!&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;accept-charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"https://getform.io/f/{your-form-endpoint}"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt; &lt;span class="na"&gt;target=&lt;/span&gt;&lt;span class="s"&gt;"_blank"&lt;/span&gt; &lt;span class="na"&gt;enctype=&lt;/span&gt;&lt;span class="s"&gt;"multipart/form-data"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;'form-field'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;'form-label'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Name&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-input-container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-input"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"last_name"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"John"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;'form-field'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;'form-label'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Email&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-input-container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-input"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"john@doe.com"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;'form-field'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;'form-label'&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Upload your resume&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-input-container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-input"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"file"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"file"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Upload your resume"&lt;/span&gt; &lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"form-button"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;SUBMIT&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
  &lt;span class="nc"&gt;.form-container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#f2f2f2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;95%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nc"&gt;.title&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;"Celias"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;"Helvetica Neue"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Helvetica&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Arial&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;text-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;text-transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;uppercase&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bold&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;letter-spacing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;.05em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding-bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1em&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nc"&gt;.form-label&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;"Celias"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;"Helvetica Neue"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Helvetica&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Arial&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;15px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1.42857143&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#2c3e50&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;box-sizing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;border-box&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;max-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin-top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin-bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bold&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nc"&gt;.form-input&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;box-sizing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;border-box&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;inherit&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;"Celias"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;"Helvetica Neue"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Helvetica&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Arial&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;45px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;10px&lt;/span&gt; &lt;span class="m"&gt;15px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;15px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#2c3e50&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#ffffff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1px&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt; &lt;span class="m"&gt;#dce4ec&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;4px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nc"&gt;.form-button&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;16px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin-top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;15px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;800&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1.5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;3px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;16px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#ccc&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;text-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;pointer&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;-webkit-transition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;all&lt;/span&gt; &lt;span class="m"&gt;.15s&lt;/span&gt; &lt;span class="n"&gt;ease&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;transition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;all&lt;/span&gt; &lt;span class="m"&gt;.15s&lt;/span&gt; &lt;span class="n"&gt;ease&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Don't forget to change the action attribute to a form endpoint URL with yours. If you haven't received your first submission yet, check out the &lt;a href="https://getform.io/docs/collecting-submissions/collecting-form-submissions"&gt;"Collecting form submissions"&lt;/a&gt; section on our docs or watch our helper &lt;a href="https://www.youtube.com/watch?v=YEH2GLFJhQY&amp;amp;t=25s&amp;amp;ab_channel=GetformGetform"&gt;video here&lt;/a&gt; to get started.&lt;/p&gt;

&lt;p&gt;Here's a form added to a Squarespace website using the Code Block:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WJiOrfAW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/squarespace-form-code.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WJiOrfAW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/squarespace-form-code.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You have a form that looks the way you want with a file upload field to accept resumes. You'll need a way to manage what happens when a user submits information.&lt;/p&gt;

&lt;p&gt;Getform lets you receive email notifications when someone submits to your form, allows you to preview the uploaded files.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qSrZJLuv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/Group-3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qSrZJLuv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/Group-3.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can view submissions and uploaded files separately&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FyiGISWn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/file-preview.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FyiGISWn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/file-preview.png" alt="Getform's File Preview Feature"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Receive emails when someone submits to your form with uploaded file's link so you can export or download attachments like resumes or photos.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--K4wx3WsX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/form-to-email-squarespace.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--K4wx3WsX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2021/03/form-to-email-squarespace.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Catch and remove any spam submissions by setting up a &lt;a href="https://getform.io/docs/collecting-submissions/spam-filtering-with-recaptcha"&gt;reCaptcha integration&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;  Connect to Google Sheets, Dropbox, Google Drive, Pipedrive, Slack and many more.&lt;/li&gt;
&lt;li&gt;  If you are willing to go for more advanced integrations, you can also use &lt;a href="https://getform.io/docs/getform-api/authentication"&gt;Getform Submission API&lt;/a&gt; to integrate your form to any custom app or website you are building.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Thank you for reading! You can find more information and code samples for different use cases from the resources provided below.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://codepen.io/getform"&gt;Codepen examples&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://codesandbox.io/u/omerozturkh/sandboxes"&gt;Codesandbox examples&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://zapier.com/app-directory/getform/integrations"&gt;Getform's Zapier page&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://getform.io/docs"&gt;Getform Documentation&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Take your Squarespace forms to next level using Getform today and feel free to reach us out at &lt;a href="mailto:info@getform.io"&gt;info@getform.io&lt;/a&gt; or using our live chat on &lt;a href="https://getform.io/"&gt;Getform.io&lt;/a&gt; if you would like help while doing that!&lt;/p&gt;

</description>
      <category>squarespace</category>
      <category>forms</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to setup a contact form in Middleman</title>
      <dc:creator>Mertcan Yücel</dc:creator>
      <pubDate>Tue, 20 Oct 2020 20:48:50 +0000</pubDate>
      <link>https://dev.to/mertcanyucel/how-to-setup-a-contact-form-in-middleman-504p</link>
      <guid>https://dev.to/mertcanyucel/how-to-setup-a-contact-form-in-middleman-504p</guid>
      <description>&lt;p&gt;&lt;em&gt;This post has been originally posted on &lt;a href="https://blog.getform.io/how-to-make-a-middleman-contact-form/"&gt;Getform Blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://middlemanapp.com/"&gt;Middleman&lt;/a&gt; is a static site generator using all the shortcuts and tools in modern web development. Middleman uses Ruby similar to another popular static site generator Jekyll, offering a pretty extensive set of features to build cool stuff.&lt;/p&gt;

&lt;p&gt;Whereas Jekyll was born of the desire for a simple, static blogging engine, Middleman was built as a framework for more advanced marketing and documentation websites. It’s a powerful tool and fast to pick up if you’re coming from the world of Rails&lt;/p&gt;

&lt;h4&gt;
  
  
  But contact forms are a challenge in Middleman
&lt;/h4&gt;

&lt;p&gt;Static site generators like Middleman are super fast and performant. However, there is one place they all fall short: form backends. Since there's no actual backend, there's no place to route your form submission data. That's where form builder and form backend platforms like &lt;a href="https://getform.io"&gt;Getform&lt;/a&gt; comes in.&lt;/p&gt;

&lt;p&gt;In this article, we will walk you through the simple Middleman website setup, adding a working contact form powered by Getform's powerful form backend platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to make a Middleman contact form using Getform and deploy it using Vercel
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1- Login to your Getform account
&lt;/h3&gt;

&lt;p&gt;The first step is to log in to your Getform account. If you don't have an account,  &lt;a href="https://getform.io/register/?ref=dev.to"&gt;sign up to Getform&lt;/a&gt;, it is super easy and free to get started. You don't need to provide any credit card info to create an account.&lt;/p&gt;

&lt;h3&gt;
  
  
  2- Create a new form on Getform
&lt;/h3&gt;

&lt;p&gt;After you log in to your Getform account, click to the "+" button on your dashboard to create a new form, then name it e.g. "Contact Form for Middleman Site" and save it. With that form created, your unique form endpoint is now ready to be inserted into your Middleman contact form.&lt;/p&gt;

&lt;p&gt;Your endpoint will be shown to you after your form is created as follows:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X1fwnlye--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2020/10/middleman-contact-form.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X1fwnlye--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2020/10/middleman-contact-form.png" alt="Middleman Contact Form - Getform"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  3- Getting Started with Middleman
&lt;/h3&gt;

&lt;p&gt;We are going to be following the MacOS installation but if you are using Windows, you can follow the guide &lt;a href="https://www.youtube.com/watch?v=nNc5Pm4IYeE"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To prepare and build your Middleman website, first step is to install XCode Command Line Tools. Xcode can be installed from the terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ xcode-select --install
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Once you have Ruby and RubyGems up and running, execute the following from the command line:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ gem install middleman
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This will install Middleman, its dependencies and the command-line tools for using Middleman.&lt;/p&gt;

&lt;p&gt;To start a new site on middleman, you can run the following command:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ middleman init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;builds a Middleman skeleton project in the current folder.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ middleman init my-middleman-site
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;creates a subfolder &lt;code&gt;my_middleman_site&lt;/code&gt; with the Middleman skeleton project. That's the option we will be using. After we run that,&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cd my-middleman-site&lt;/code&gt; to open folder and run the following command to start a local dev server:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ bundle exec middleman server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Middleman will start a development environment accessible by default at &lt;code&gt;localhost:4567&lt;/code&gt; which will look like as follows:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QUGIXRYN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2020/10/middleman-homepage.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QUGIXRYN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2020/10/middleman-homepage.png" alt="Middleman Homepage"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  4- Add a contact page to your Middleman site
&lt;/h3&gt;

&lt;p&gt;Now, we have our Middleman site running and welcomes us with "Middleman is Running" message on the homepage.&lt;/p&gt;

&lt;p&gt;This homepage is represented by the &lt;code&gt;source/index.html.erb&lt;/code&gt;. Middleman uses a file-based routing system. For example, &lt;code&gt;source/contact.html.erb&lt;/code&gt; will be &lt;code&gt;mywebsite.com/contact.html/&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Let's create our contact page.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Create a new file called &lt;em&gt;contact.html.erb&lt;/em&gt; under  &lt;code&gt;source&lt;/code&gt; directory.&lt;/li&gt;
&lt;li&gt;  Change its content with the following code block, the contact form itself will be HTML, which will work fine.&lt;/li&gt;
&lt;li&gt;  Don't forget to change the &lt;code&gt;action&lt;/code&gt; part of your &lt;code&gt;&amp;lt;form&amp;gt;&lt;/code&gt; tag in your contact.html.erb file, update it with the form endpoint URL you copied in step 2.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;h1&amp;gt;Contact Us&amp;lt;/h1&amp;gt;
      &amp;lt;div&amp;gt;
        &amp;lt;a target="_blank" href="https://getform.io"&amp;gt;
        &amp;lt;img src='https://getform.io/_nuxt/img/095d0b3.svg'&amp;gt;
        &amp;lt;/a&amp;gt;
        &amp;lt;br&amp;gt;
        &amp;lt;a target="_blank" href="https://getform.io?ref=gridsome-blog" class="mt-3 d-flex"&amp;gt;Getform.io | Get your free endpoint now&amp;lt;/a&amp;gt;
        &amp;lt;h2&amp;gt;Getform.io - Middleman Contact Form Example&amp;lt;/h2&amp;gt;
            &amp;lt;form accept-charset="UTF-8" action="https://getform.io/f/{YOUR_UNIQUE_FORM_ENDPOINT}" enctype="multipart/form-data" method="POST"  target="_blank"&amp;gt;
                &amp;lt;div&amp;gt;
                    &amp;lt;label&amp;gt;Full Name&amp;lt;/label&amp;gt;
                    &amp;lt;div&amp;gt;
                        &amp;lt;input style="margin-top: 5px; background-color: #fff; height:35px; width:235px; text-indent: 5px; border-radius:5px;"
                        type="text" name="first_name" placeholder="Enter your name and surname" required="required"&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;br&amp;gt;
                &amp;lt;div&amp;gt;
                    &amp;lt;label&amp;gt;Email address&amp;lt;/label&amp;gt;
                    &amp;lt;div&amp;gt;
                        &amp;lt;input style="margin-top: 5px;background-color: #fff; height:35px; width:235px; text-indent: 5px; border-radius:5px;"
                        type="email" name="email" placeholder="Enter your email address" required="required"&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;br&amp;gt;
                &amp;lt;div&amp;gt;
                    &amp;lt;label for="favourite-platform"&amp;gt;Favourite Static Site Generator&amp;lt;/label&amp;gt;
                    &amp;lt;div&amp;gt;
                        &amp;lt;select style="margin-top: 5px; background-color: #fff; height:40px; width:245px; text-indent: 5px; border-radius:5px;"
                        class="form-control" id="favourite-platform" name="platform" required="required"&amp;gt;
                        &amp;lt;option&amp;gt;Middleman&amp;lt;/option&amp;gt;
                        &amp;lt;option&amp;gt;Jekyll&amp;lt;/option&amp;gt;
                        &amp;lt;option&amp;gt;Vuepress&amp;lt;/option&amp;gt;
                        &amp;lt;/select&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div style="margin-top: 15px;"&amp;gt;
                    &amp;lt;label &amp;gt;Upload a file:&amp;lt;/label&amp;gt;
                    &amp;lt;input style="margin-left: 5px" type="file" name="file" required="required"&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;br&amp;gt;
                &amp;lt;input type="hidden" name="utf8" value="✓"&amp;gt;
                &amp;lt;button style="font-size:14px; background-color:#6b7ddf; color:#fff; font-weight:bold; padding:10px 35px; margin: 5px 0 0 0;
                    border: 1px solid; border-radius: 5px;"
                    type="submit"&amp;gt;SUBMIT&amp;lt;/button&amp;gt;
            &amp;lt;/form&amp;gt;
        &amp;lt;/div&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Sample form endpoint: &lt;code&gt;[https://getform.io/{YOUR_UNIQUE_FORM_ENDPOINT}](https://getform.io/%7BYOUR_UNIQUE_FORM_ENDPOINT%7D)&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  run &lt;code&gt;bundle exec middleman server&lt;/code&gt; and go to &lt;code&gt;localhost:4567/contact.html/&lt;/code&gt;. Here is how your contact page looks like:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--STzn6TN8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2020/10/middleman-contact-page.png" alt=""&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  5- Test your form on your Middleman site by submitting a sample form submission!
&lt;/h3&gt;

&lt;p&gt;Our contact page is ready to receive submissions now. Let's fill out the fields and press submit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UA2TrK-l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2020/10/getform-submission-detail.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UA2TrK-l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://blog.getform.io/content/images/2020/10/getform-submission-detail.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it! Your Middleman site is now using Getform for handling form backend and it shows us the submission details as in the image above. File upload previews are another nice thing of Getform and supported for most of the common file types such as png, pdf, jpeg and so on.&lt;/p&gt;

&lt;p&gt;After you finish setting things up, you can also s&lt;a href="https://getform.io/docs/collecting-submissions/email-notifications"&gt;et up an email notification from form settings&lt;/a&gt;, use the &lt;a href="https://zapier.com/app-directory/getform/integrations"&gt;Zapier integration&lt;/a&gt; to send your form submission data to 1000s of other applications and keep your form submissions spam protected by using &lt;a href="https://getform.io/docs/collecting-submissions/spam-filtering-with-recaptcha"&gt;reCaptcha integration&lt;/a&gt;. If you are willing to go for more advanced integrations, you can use &lt;a href="https://getform.io/docs/getform-api/authentication"&gt;Getform Submission API&lt;/a&gt; to integrate your form to any custom applications.&lt;/p&gt;

&lt;p&gt;You can find the source code of this tutorial below. Optionally, you can use the boilerplate code to get started and even deploy this sample to a working website within couple of minutes using &lt;a href="https://vercel.com/"&gt;Vercel&lt;/a&gt; or &lt;a href="https://www.netlify.com/"&gt;Netlify&lt;/a&gt;.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i3JOwpme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/getform"&gt;
        getform
      &lt;/a&gt; / &lt;a href="https://github.com/getform/getform-middleman-example"&gt;
        getform-middleman-example
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Sample Middleman website creation using Getform and Vercel
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;Thank you for reading and let me know your thoughts through the comments!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>serverless</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Top 16 CMS Platforms for Your Website</title>
      <dc:creator>Mertcan Yücel</dc:creator>
      <pubDate>Thu, 01 Oct 2020 11:35:07 +0000</pubDate>
      <link>https://dev.to/mertcanyucel/top-16-cms-platforms-for-your-website-56pj</link>
      <guid>https://dev.to/mertcanyucel/top-16-cms-platforms-for-your-website-56pj</guid>
      <description>&lt;p&gt;&lt;em&gt;This post has been &lt;a href="https://blog.getform.io/cms-world-with-16-best-options-for-your-business/" rel="noopener noreferrer"&gt;originally posted on the official blog of Getform.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;Content has become one of the main ways that businesses interact with their customers. Back in the old days, companies could regard content as a ‘nice to have’ side of the marketing. However content doesn’t just affect marketing, it has become a core part of every business.&lt;br&gt;
                                                                                                                                                Texts, pictures, videos and graphics don’t just add value for your reader or user, these are also positively effective for search engine optimization if you maintain your content in an engaging way.&lt;br&gt;
                                                                                                                                            That’s where the content management system (CMS) comes into play. When you use a CMS, you do not need much technical intervention. Managing and dealing content becomes automated and consistent.&lt;/p&gt;

&lt;p&gt;In this article, we’ll be explaining why it’s so important to choose the right CMS platform for your website. We’ll also share our top 10 picks for traditional CMS platforms and the top 6 picks for headless CMS platforms.&lt;br&gt;
                                                                                                                                              Before jumping into the classification of Content Management Systems, let’s first understand CMS in a more detailed way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are Content Management Systems?
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://en.wikipedia.org/wiki/Content_management_system" rel="noopener noreferrer"&gt;content management system&lt;/a&gt; is a software that helps create, organize and maintain digital content without a high level of programming and coding knowledge. It allows multiple contributors to develop, create and publish different content types, which are stored in a database and displayed in a presentation layer that is based on a set of templates.&lt;/p&gt;

&lt;p&gt;Content management systems provide the opportunity to have easy-going site maintenance and full control over your content. There are different types of CMS platforms available and each type serves a different purpose for different business types.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Let’s go through the classification of CMS platforms according to the way they can be embedded into your business system.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Open-Source CMS
&lt;/h3&gt;

&lt;p&gt;You can easily download open-source CMS at zero initial cost. This type of content management systems are created and developed with the user community environment, where third party developers improve the original software.&lt;/p&gt;

&lt;p&gt;It allows you to install add-ons, plugins, templates and improve their functionality. There are so many customization options that are available for different types of businesses. Examples of open-source CMSs are Wordpress and Drupal.&lt;/p&gt;

&lt;h3&gt;
  
  
  Proprietary CMS
&lt;/h3&gt;

&lt;p&gt;The proprietary content management system comes with an initial license fee, and in some cases, there are annual charges for user support and updates. You can modify proprietary CMS with built-in functionalities but this may come at an extra cost. To avoid some additional costs, it is important to check carefully what is actually covered by the license, and what all you will have to pay in the future.&lt;/p&gt;

&lt;h3&gt;
  
  
  Software as a Service (SaaS) CMS
&lt;/h3&gt;

&lt;p&gt;This type of content management system offers web hosting, web content management software and technical support that all covered in a single package. These SaaS CMS solutions are hosted in a cloud and based on a subscription model. Its pricing includes data and content storage, amount of transferred data and ongoing support.&lt;/p&gt;

&lt;p&gt;Following is the Top 10 Traditional Content Management Systems that can help to maintain your content and take the right step for your business development.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;WordPress&lt;/li&gt;
&lt;li&gt;Joomla&lt;/li&gt;
&lt;li&gt;Drupal&lt;/li&gt;
&lt;li&gt;TYPO3&lt;/li&gt;
&lt;li&gt;Magento&lt;/li&gt;
&lt;li&gt;Squarespace&lt;/li&gt;
&lt;li&gt;WIX&lt;/li&gt;
&lt;li&gt;HubSpot CMS&lt;/li&gt;
&lt;li&gt;Adobe Experience Manager&lt;/li&gt;
&lt;li&gt;Shopify&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://wordpress.com/" rel="noopener noreferrer"&gt;WORDPRESS&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;WordPress is the most-used open source CMS worldwide with &lt;strong&gt;more than 18 million installations&lt;/strong&gt;. It allows you to create your blog or website by using text documents, images, videos and more with little or no knowledge of programming.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fl2ogom4l8jlmdjj64b3m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fl2ogom4l8jlmdjj64b3m.png" alt="Wordpress CMS"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Another benefit that WordPress offers is its very large user community. You can customize your website with a huge amount of theme, plugin and widget selections.&lt;/p&gt;

&lt;p&gt;Because of the high level of circulation, WordPress is also considered as a popular target for hackers. To avoid these kinds of issues you need to update your WordPress software regularly.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.joomla.org/" rel="noopener noreferrer"&gt;JOOMLA&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fegworqbgkrtqxrrr8adv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fegworqbgkrtqxrrr8adv.png" alt="Joomla CMS"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Joomla is considered as the second biggest CMS regarding its market coverage. It allows you to host a blog or any other web publications. It has various CMS functionalities without installing any extensions.&lt;/p&gt;

&lt;p&gt;Joomla is based on a &lt;em&gt;stand-alone Model-View-Controller which enables you to create your extensions&lt;/em&gt; and share it within its community.&lt;/p&gt;

&lt;p&gt;As an open-source CMS, you will have the freedom for personalizing the elements the way you like if you decide to go with Joomla. Its interface is very impressive but not easy to use when compared to WordPress.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.drupal.org/" rel="noopener noreferrer"&gt;DRUPAL&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Drupal is another popular open-source CMS for developing websites and web applications. It provides tempting features such as great security, reliable performance and easy content management processes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Foktg77egkfxmt6r0qmxc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Foktg77egkfxmt6r0qmxc.png" alt="Drupal CMS Getform"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Drupal is highly customizable with its more than 36000 extension modules to suit your business needs. It is preferred by designers because of these add-on modules and designs.&lt;/p&gt;

&lt;p&gt;If you serve more than one language market, Drupal is the best CMS for your small business. This CMS software handles sites that use multiple languages with ease.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://typo3.com/" rel="noopener noreferrer"&gt;TYPO3&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fpn3vuo6wvgu166iwev5q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fpn3vuo6wvgu166iwev5q.png" alt="Typo3-Getform"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;TYPO3 software is an open-source enterprise content management system. It is a great solution for creating corporate portals, enterprise landing pages and e-commerce platforms.TYPO3 is very easy to use and suitable for those kinds of business pages that don’t require maintenance regularly.&lt;/p&gt;

&lt;p&gt;We would recommend you to use TYPO3 if you need to manage several sites that fall under the same umbrella. With this CMS, you can share templates, extensions and even users among your sites, which is something that most platforms don’t offer.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://magento.com" rel="noopener noreferrer"&gt;MAGENTO&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fb6mgq91acqsys7y1y71c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fb6mgq91acqsys7y1y71c.png" alt="Magento-Getform"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Magento is an open-source content management system that mainly focuses on building e-commerce platforms quickly and effectively. It allows you to manage multiple stores, currencies, pricing and more. Its pros also include a flexible, secure user interface and a high level of customization capabilities.&lt;/p&gt;

&lt;p&gt;Although it is an open-source and free CMS, you may need to pay for unlocking all the premium features. But if you need to develop a small e-commerce site then  the free features of Magento will be quite enough to get started.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.squarespace.com/" rel="noopener noreferrer"&gt;SQUARESPACE&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fyhvq7m9k47i9nutzn3mc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fyhvq7m9k47i9nutzn3mc.png" alt="SquareSpace-Getform"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Squarespace is well-known for its very simple drag and drop website builder feature. It lets you create aesthetic websites with various options of professional themes and templates. That’s why Squarespace CMS is preferred primarily by entrepreneurs, musicians, restaurants and bloggers.&lt;br&gt;
                                                                                                                                                  You can get into details with its style editor for customizing fonts, colors, and other theme settings. It's also easier to integrate high-quality images, thanks to the ability to add on searchable Unsplash and Getty images.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.wix.com/" rel="noopener noreferrer"&gt;WIX&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Wix is a big player in the content management and website building world with hosting over 16 Million websites. You can either build your website from scratch or choose a design from the library of 500 readymade themes and templates.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1ren5m5uhnt7ywzm6zxv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1ren5m5uhnt7ywzm6zxv.png" alt="Wix-CMS-Getform"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is easy to adapt this CMS for your needs. For example, you can accept payments via multiple methods, provide coupons and discounts while tracking orders of your online store. If you are a restaurant owner, it is easy to create menus, set up online ordering and let users book tables through the website.&lt;/p&gt;

&lt;p&gt;One of its best features is its ability to automatically optimize your site for mobile. Wix automatically installs and upgrades security updates, so you’re also protected.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.hubspot.com/products/cms" rel="noopener noreferrer"&gt;HUBSPOT CMS&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Although HubSpot is a well-known market operation provider, it also offers a Content Management System which can integrate with all the HubSpot product suite.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F27gg6rcehvn4rw53yre8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F27gg6rcehvn4rw53yre8.png" alt="Hubspot-CMS-Getform"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It enables you to create, manage and track the performance of blog sites, landing pages and emails from one place. HubSpot CMS has drag-and-drop modules, SEO features and mobile-friendly themes that let you have full control over your website.&lt;/p&gt;

&lt;p&gt;All of these amazing features come with a cost. HubSpot offers its minimum package for $240 per month with a plus mandatory $1,000 onboarding fee. So if you have enough budget then HubSpot would be the CMS that you can go for.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.adobe.com/experience-cloud/topics/content-management-system.html" rel="noopener noreferrer"&gt;ADOBE EXPERIENCE MANAGER&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ff4zeftu52q28sk6y6jbp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ff4zeftu52q28sk6y6jbp.png" alt="Adobe Experience Manager CMS"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Adobe Experience Manager offers a very comprehensive CMS software for building websites and mobile apps. It provides a drag-and-drop interface, template editor, marketing-friendly templates and developer-facing tools to help you create your site in the way you like.&lt;/p&gt;

&lt;p&gt;Adobe Experience Manager allows you to handle your marketing content and property, and deliver digital activities while offering your customers a personalized experience and easy to use UI. You can contact its sales team for pricing based on your needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.shopify.com/" rel="noopener noreferrer"&gt;SHOPIFY&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Shopify is another popular CMS software for building e-commerce platforms. You can consider it as an all-in-one hosted CMS platform. That means you don’t need to install any software, buy hosting or manage things like updates and backups.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fbxiui68wyh7fnxcnopmu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fbxiui68wyh7fnxcnopmu.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Its drag-and-drop interface with various options for themes and templates allows you to customize your e-commerce site very easily. Another great benefit of Shopify is supporting in-store sales if you have a physical store as well as an online one.&lt;/p&gt;

&lt;p&gt;The pricing plans vary between $29-$299 per month, and it would be good to get in touch with its sales team if you have different enterprise-level requirements.&lt;/p&gt;

&lt;h2&gt;
  
  
  Headless CMSs
&lt;/h2&gt;

&lt;p&gt;A new type of Content Management System is on the rise to serve and maintain content.Headless CMSs seem to be very attractive at this point but why is that?&lt;/p&gt;

&lt;p&gt;To be precise, The term “Headless” refers to the lack of a frontend. This kind of CMSs allows businesses to manage, store and track content from creation to publication, just like a traditional CMS does. The major difference is the front-end delivery layer of a website is removed from a headless CMS which means you can use any front-end tool you want to present the content that has been created.&lt;/p&gt;

&lt;p&gt;It provides an API that enables front-end developers to carry the content from a CMS into their projects. In addition to that, it does not require any hosts for the creation process. Because of these reasons many developers choose headless CMS over traditional CMSs. and it also allows you to repurpose your content from multiple front-ends making them a perfect fit for JAMstack builds.&lt;/p&gt;

&lt;p&gt;Let’s take a look at the 6 Most Popular Headless CMSs that you can consider to choose the right tool for your business.&lt;/p&gt;

&lt;p&gt;1.Kentico Kontent&lt;br&gt;
2.Magnolia&lt;br&gt;
3.Ghost&lt;br&gt;
4.NetlifyCMS&lt;br&gt;
5.Contentful&lt;br&gt;
6.Forestry&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://kontent.ai/" rel="noopener noreferrer"&gt;KENTICO KONTENT&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fald3b1ftrlc5rjgcoc0q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fald3b1ftrlc5rjgcoc0q.png" alt="Kentico Kontent"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are mostly focusing on the content itself and produce it continually, then Kentico Kontent can be a great option for your project. It is a headless CMS that simplifies content production for marketers without requiring any developer involvement.&lt;/p&gt;

&lt;p&gt;Kentico Kontent also allows you the track and analyze the customer experience and collaborate with your team in a cloud-based environment. There are lots of content operation features that come with a very user-friendly interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.magnolia-cms.com/" rel="noopener noreferrer"&gt;MAGNOLIA&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fl1g3b1q4hqtljh7y08kd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fl1g3b1q4hqtljh7y08kd.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Magnolia is an open-source headless CMS that offers features such as in-context editing, full preview and personalization. It’s preferred for marketer-friendly interfaces, digital asset management and campaign management.&lt;/p&gt;

&lt;p&gt;Magnolia has rich omnichannel delivery capabilities that can make you reuse content across any touchpoint which makes this headless CMS ideal for busy business professionals.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.shopify.com/" rel="noopener noreferrer"&gt;GHOST&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fdu2gl3rmcpyv30mztbml.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fdu2gl3rmcpyv30mztbml.png" alt="Ghost-CMS-Getform"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ghost is an open-source publishing platform that is easy to use, and free for everyone. It is an API-driven, headless CMS built with Node.js. Ghost can either be used in a headless manner or via templates. It does not only offer greater performance but also flexibility for organizations that wish to have greater control over their content management systems.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.netlifycms.org/" rel="noopener noreferrer"&gt;NETLIFY CMS&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4cuw0n46csmd616epx2e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4cuw0n46csmd616epx2e.png" alt="Netlify CMS"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;NetlifyCMS is a headless CMS built as a single page app written in React. This headless CMS is based on client-side JavaScript, reusable APIs and prebuilt Markup. Compared to traditional CMSs like WordPress, this means better performance, higher security and better developer experience.&lt;/p&gt;

&lt;p&gt;You can use NetlifyCMS with any static site generator (such as Gatsby, Hugo or Jekyll) for a faster and flexible web project. Its editor-friendly user interface enables you to create websites in a very simple way. It also allows you to upload your website by just using the drag-and-drop option.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.shopify.com/" rel="noopener noreferrer"&gt;CONTENTFUL&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fmn7xhbyyr27toxvwcnzv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fmn7xhbyyr27toxvwcnzv.png" alt="Contentful CMS"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can consider Contentful as a cloud-based headless CMS solution. Their motto, “unified, connected, low risk” describes Contentful’s features very well. Its cloud platform provides a lot of support to clients while its cloud-based infrastructure makes it more reliable to use.&lt;/p&gt;

&lt;p&gt;Contentful offers a rich editor interface, intuitive content modeling and advanced caching techniques for businesses that need fast and strong solutions. It comes with a varied range of features and prices from the free trial to custom quotes for enterprise projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://forestry.io/" rel="noopener noreferrer"&gt;FORESTRY&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4ru2h4af6hh83k963i2e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4ru2h4af6hh83k963i2e.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Forestry is a Git-backed headless CMS. It allows you to easily edit all flat-file based static sites and it works with every popular static site generator. Technically, it is a layer on top of Git and it’s interacting directly with the files in the repository. Every action that happens in the CMS like editing, creating and deleting is an action taken as part of the Git workflow.&lt;/p&gt;

&lt;p&gt;Thanks to its simplicity and native Git integration it’s a perfect choice mostly for marketing teams and developers.&lt;/p&gt;

&lt;h1&gt;
  
  
  FINAL THOUGHTS
&lt;/h1&gt;

&lt;p&gt;We wanted to make an introduction to the CMS world with its features, types and the best options that you can look out for. There are lots of  CMSs available in the market and that can make you confused to choose the best one for the project or website.&lt;/p&gt;

&lt;p&gt;It is better to decide on the purpose and aim of making your website at first. After that, you will be able to choose the right type with the needed features for your business. In some cases, traditional CMSs will fit better but on the other hand, headless CMS options are definitely worth trying out, especially with the rise of JAMStack.  It is hard turning a blind eye to the benefits of using JAMstack from both web developers and marketers’ perspective. Faster performance, more security and easier scalability being top ones among many.&lt;/p&gt;

&lt;p&gt;Have fun, check out all the top CMS platform options available, and see which one you like the best.&lt;/p&gt;

&lt;h2&gt;
  
  
  GETFORM
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2kasezejtevvxekucozs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2kasezejtevvxekucozs.png" alt="Getform form backend"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://getform.io/?href=dev.to"&gt;Getform&lt;/a&gt; is a form backend platform and form endpoint service for online web forms. After you select your CMS, while you're getting your website ready, let your forms handled by Getform.&lt;/p&gt;

&lt;p&gt;What you need is to create your unique form endpoint on Getform and paste it on your HTML page and the rest will be handled by us. With additional features like Custom Email Notifications, Autoresponders, File Upload Support, Zapier &amp;amp; Webhook Integrations and Advanced Spam Filtering with Google reCaptcha will make your form perfectly managed! You can register &lt;a href="https://getform.io/register?href=dev.to"&gt;here&lt;/a&gt; to get started!&lt;/p&gt;

&lt;p&gt;Thank you for reading! I hope you enjoyed it, leave a comment below to let me know what is your go-to CMS while building your website.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>serverless</category>
      <category>wordpress</category>
    </item>
    <item>
      <title>Creating a WordPress contact form without a plugin</title>
      <dc:creator>Mertcan Yücel</dc:creator>
      <pubDate>Mon, 06 Jul 2020 14:52:45 +0000</pubDate>
      <link>https://dev.to/mertcanyucel/creating-a-wordpress-contact-form-without-a-plugin-2c60</link>
      <guid>https://dev.to/mertcanyucel/creating-a-wordpress-contact-form-without-a-plugin-2c60</guid>
      <description>&lt;p&gt;&lt;em&gt;This post has been originally posted on &lt;a href="https://blog.getform.io"&gt;Getform Official Blog&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;WordPress is without a doubt the most popular way to build your website and we wouldn't be wrong if we define WordPress as the operating system of your website. According to the stats as of 2020, &lt;strong&gt;WordPress runs 32% of all the websites around the world&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The WordPress repository has thousands of plugins, which you can use to add new features and functionality to your static WordPress website. Plugins to set up and manage web forms is one of them. However, the WordPress plugins are not always easy to manage for several reasons such as slow performance, complicated management and might cause security risks, and as much as WordPress plugins let you create forms quickly and easily, some developers and designers are looking for unique customization options that suit their expectations.&lt;/p&gt;

&lt;p&gt;But WordPress plugins are not always the optimum solution for form setups. In this blog post, I'll show you how to set up a simple and customizable WordPress contact form on your site using a simple form backend platform &lt;a href="https://getform.io"&gt;Getform&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  How to Create a WordPress Form Without a Plugin
&lt;/h1&gt;

&lt;p&gt;If you don't have a WordPress site or don't know where to start, you can check out the easy setup guide below which shows an easy WordPress site using Docker within minutes.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/pYhLEV-sRpY"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  1- Create a Getform account and create new form
&lt;/h3&gt;

&lt;p&gt;Create an account on Getform. After you log in to Getform, click to “+” button on your forms dashboard page to create a new form then name it e.g. &lt;em&gt;“Contact Form for my WordPress Site"&lt;/em&gt;, then copy the unique form endpoint that belongs to the form you have just created, we will need it in the later steps.&lt;/p&gt;

&lt;h3&gt;
  
  
  2- Create a new WordPress page for your Contact Form
&lt;/h3&gt;

&lt;p&gt;After setting up your WordPress site, here are the simple steps for adding an HTML coded form on a WordPress page:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Log into your WordPress dashboard, select &lt;strong&gt;"Pages"&lt;/strong&gt; section, and click &lt;strong&gt;"Add New"&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AHiIgR1w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/zjs0m5rywta0ivi7bkg7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AHiIgR1w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/zjs0m5rywta0ivi7bkg7.png" alt="Create a new page for your Contact section."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Give the page a meaningful title, like “Contact Us.”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1Qk9NSgV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/63e9ljz3r9hgvekzukm3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1Qk9NSgV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/63e9ljz3r9hgvekzukm3.png" alt="wordpress-contact-us"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3- Add a Custom HTML Section and setup your WordPress form
&lt;/h3&gt;

&lt;p&gt;After you name your Contact page, it's now time to setup your WordPress contact form.&lt;/p&gt;

&lt;p&gt;For this step, you have two options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; If you enable Bootstrap on your site, then you can use the code block prepared by Getform:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/getform/embed/qBEvKLm?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; If you prefer to keep the full control of your whole design for your site then you can use the form code block without bootstrap:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/getform/embed/qBEerRP?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;After you pick the code block based on your WordPress site's needs,  add a Gutenberg custom HTML block and paste the form code of your choice.&lt;/p&gt;

&lt;p&gt;PS: If you are using an old WordPress version without the Gutenberg HTML block, you can click the &lt;em&gt;"Text"&lt;/em&gt; tab and paste the form code of your choice to the section.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--leYiW8Da--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/qymjuad8sso9gidh28i9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--leYiW8Da--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/qymjuad8sso9gidh28i9.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;NOTE: Don't forget to paste the endpoint URL you have gathered in step 1 to the action attribute of the HTML block. In this way, the submissions will come to the form you have created on your Getform dashboard.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When the coded form is published on a WordPress page, the resulting output will look like as follows:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OLknKcnv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/xzpi79kpvl142hki7vkz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OLknKcnv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/xzpi79kpvl142hki7vkz.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;After you fill the fields and submit it, here is how your form data will look like on your Getform dashboard:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HoBb__7G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/l20xli3492olbxhjs5gw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HoBb__7G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/l20xli3492olbxhjs5gw.png" alt="Getform Dashboard"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Final Thoughts
&lt;/h1&gt;

&lt;p&gt;Now Getform will handle the contact form submissions on your WordPress site, all with just a few lines of code. It is a more flexible and robust solution than what you might get from a form plugin.&lt;/p&gt;

&lt;p&gt;After you finish the setup, based on your needs you can also &lt;a href="https://getform.io/docs/collecting-submissions/email-notifications"&gt;set up an email notification from form settings&lt;/a&gt;, use &lt;a href="https://getform.io/docs/zapier-integration/connect-your-zap-to-other-services"&gt;Zapier integration&lt;/a&gt; to send your form submission data to hundreds of other applications, and keep your form submissions spam protected by using &lt;a href="https://getform.io/docs/collecting-submissions/spam-filtering-with-recaptcha"&gt;reCaptcha integration&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;BONUS: If you would like to check out the Wordpress themes, you can visit the themes section from here: &lt;a href="https://wordpress.org/themes/browse/featured/%20and%20select%20your%20preferred%20one"&gt;https://wordpress.org/themes/browse/featured/ and select your preferred one&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>webdev</category>
      <category>development</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>5 Ways to Increase Form Conversion Rate</title>
      <dc:creator>Mertcan Yücel</dc:creator>
      <pubDate>Sun, 14 Jun 2020 20:51:37 +0000</pubDate>
      <link>https://dev.to/mertcanyucel/5-ways-to-increase-form-conversion-rate-1jpf</link>
      <guid>https://dev.to/mertcanyucel/5-ways-to-increase-form-conversion-rate-1jpf</guid>
      <description>&lt;p&gt;&lt;em&gt;This post has been originally posted on &lt;a href="https://blog.getform.io/5-ways-to-increase-form-conversion/"&gt;Getform's Official Blog&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
Web forms are everywhere and millions of people submit forms every day for different purposes. Forms play such a key role in almost every online transaction - from logging in to a new online platform, event registration, job applications,  survey or newsletter signups.&lt;/p&gt;

&lt;p&gt;No matter where you go online, you’re bound to run across some little text field requiring you to submit information and this definitely won't change anytime soon.&lt;/p&gt;

&lt;p&gt;The more that forms are used, the more users will expect something new and different to hold their attention. The best way to get your form to stand out from the thousands of other similar ones is to create a unique user experience which leads to higher form conversion.&lt;/p&gt;

&lt;p&gt;In this article, we will look at 5 tips and best practices that you can use to improve your contact form conversion rate.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to increase contact form conversion rate
&lt;/h2&gt;

&lt;p&gt;Contact form conversion rate optimization relies on the minor details that you can apply. If you want to effectively reach the maximum conversion rate, then you need to focus on the right techniques. Here are 5 tips that you can get started:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Include the right number of fields on your form
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gAogHj5i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5lfquxcoomdck6jodvab.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gAogHj5i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5lfquxcoomdck6jodvab.png" alt="Bootstrap Contact Form"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fewer form fields equal greater conversion for many cases. Your contact form should be simple.&lt;/p&gt;

&lt;p&gt;If you take away one thing from this article, that would be eliminating unnecessary form fields that can significantly increase the conversion rate of your contact form.&lt;/p&gt;

&lt;p&gt;According to the research by &lt;a href="https://www.quicksprout.com"&gt;Quicksprout&lt;/a&gt;, &lt;strong&gt;&lt;em&gt;limiting the number of fields to just three can guarantee a minimum conversion rate of 25 percent&lt;/em&gt;&lt;/strong&gt;. But in some cases such as collecting sales leads, fewer form fields can also lead to low-quality leads and decrease the perceived value from your form.&lt;/p&gt;

&lt;p&gt;For example, if you're giving away a free checklist, you might only want to collect basic fields like first name, last name, and email. But if you're giving away something more important like an ebook, you may want to ask for more detailed information with more form fields.&lt;/p&gt;

&lt;p&gt;For this reason, we suggest you select the right number of fields according to your specific use case. You can also check Getform's &lt;a href="https://codepen.io/getform"&gt;Codepen Page&lt;/a&gt; to see ready-to-use simple form templates.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Use the right color and the right text for your Form CTA button
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yi0ew516--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kmq7isruq4o8ej3tsfv2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yi0ew516--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kmq7isruq4o8ej3tsfv2.png" alt="Contact Form Button CTA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;According to studies, the word "submit" is not descriptive enough.  Your submit button is more than just a button. It's an opportunity to convince your visitors that they should fill out those last few fields. Leaving "submit" as the submit button text on your form is a missed opportunity.&lt;/p&gt;

&lt;p&gt;Here are some examples for your form calls-to-action:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Download this ebook&lt;/li&gt;
&lt;li&gt;Subscribe Now&lt;/li&gt;
&lt;li&gt;Show me this presentation&lt;/li&gt;
&lt;li&gt;Claim this offer&lt;/li&gt;
&lt;li&gt;Save your seat&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By improving the copy of your CTA, you can radically increase your form conversion rates.&lt;/p&gt;

&lt;p&gt;Another important aspect is the color you select for your CTA button. The key is to choose a color that fits your current design, but you also want to have a button color that screams “click me.” According to several case studies, &lt;a href="https://optinmonster.com/which-color-button-converts-best/"&gt;red is the highest performing color&lt;/a&gt;. But green and orange are other great alternatives to go with.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Embrace the mobile-first approach
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--m4-thuSs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/x5r36r0fw2gtyrglnkin.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--m4-thuSs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/x5r36r0fw2gtyrglnkin.png" alt="Mobile-first-forms"&gt;&lt;/a&gt;&lt;br&gt;
If you’ve ever filled out a form on a phone, you know how painful each additional field can be. Thinking mobile-first is crucial in 2020. (e.g &lt;a href="https://www.google.com/search?q=google+mobile+first+indexing+2020&amp;amp;oq=google++mobile&amp;amp;aqs=chrome.1.69i57j69i59j0l5j69i60.2746j0j7&amp;amp;sourceid=chrome&amp;amp;ie=UTF-8"&gt;Google's mobile-first indexing approach&lt;/a&gt;) and forms should definitely be part of your mobile-first strategy.&lt;/p&gt;

&lt;p&gt;There are several important design aspects that you should consider such as whether you put field labels above or to the left of your form elements and what you set as your default options for certain fields.&lt;/p&gt;

&lt;p&gt;Coming up with a visually appealing and UX-friendly mobile form is unbeatable and they are easier to use and faster than their alternatives.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Make the required fields visible
&lt;/h3&gt;

&lt;p&gt;Research from the &lt;a href="https://baymard.com/blog/required-optional-form-fields"&gt;Baymard Institute&lt;/a&gt; says it’s useful to clearly delineate which fields are optional while also noting which fields are required.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EvJwnrZ_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/crjwag7oi8jt20p7hi59.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EvJwnrZ_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/crjwag7oi8jt20p7hi59.png" alt="Required-Form-Fields"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Required fields are typically denoted with an asterisk (*). Optional fields will not have an asterisk. So make sure that on your forms, you denote which fields are required and which are optional.&lt;/p&gt;

&lt;p&gt;Check out the full list of HTML5 form validation rules explained on &lt;a href="https://getform.io/docs/frequently-asked-questions"&gt;Getform documentation&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Get rid of Captcha or use the invisible one
&lt;/h3&gt;

&lt;p&gt;Let's face it! Nobody likes to use Captcha even though they are doing a good job of filtering the spam submitters. &lt;a href="https://moz.com/blog/captchas-affect-on-conversion-rates"&gt;According to Moz's study&lt;/a&gt;, &lt;strong&gt;&lt;em&gt;having Captcha on your forms decrease conversion rates by 3%&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EvJwnrZ_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/crjwag7oi8jt20p7hi59.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EvJwnrZ_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/crjwag7oi8jt20p7hi59.png" alt="recaptcha-forms-getform"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This isn’t to say you should forget about security. It’s a very important component of building trust. Getform provides Akismet powered machine learning spam prevention and also offers invisible reCaptcha to improve your form conversion rates. Checkout Getform documentation to set up a &lt;a href="https://getform.io/docs/spam-filtering"&gt;Google reCaptcha v3, aka invisible reCaptcha&lt;/a&gt; to improve your form conversion rate.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lHEESbUM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/47al23oeu23rqpjhwqa2.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lHEESbUM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/47al23oeu23rqpjhwqa2.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
                               &lt;em&gt;Don't let robots spam your form :)&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Bonus: Consider starting A/B Testing Your Web Forms
&lt;/h3&gt;

&lt;p&gt;As mentioned above, there are many things that you can use to increase your form conversion rates. If you still feel like your conversion rates aren't reaching up to your expectations, you might start testing. your forms to see what causes a negative impact. In that case you might want to dig a little deeper and start A/B Testing your forms.&lt;/p&gt;

&lt;p&gt;Here are some factors that you can check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The placement of your form on a landing page&lt;/li&gt;
&lt;li&gt;The placement and color of your form CTA&lt;/li&gt;
&lt;li&gt;Colors of surrounding images or the page branding&lt;/li&gt;
&lt;li&gt;Words in your headlines and your surrounding copy&lt;/li&gt;
&lt;li&gt;Form alignment, the number of form fields and form length&lt;/li&gt;
&lt;li&gt;Form labels and text placement&lt;/li&gt;
&lt;li&gt;Form type (full screen, pop-up, etc.)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;When it comes to improving conversions on your forms, there are several key areas you need to watch out for: number of form fields, copy and color of your CTA button, embrace mobile first approach, indicate required fields and avoid using visible Captcha on your form.&lt;/p&gt;

&lt;p&gt;Lastly, no matter what you are doing with your contact form, try to eliminate more friction to increase your form user experience. Reducing friction drives conversion rate.&lt;/p&gt;

&lt;p&gt;We hope this article helped you learn the best ways to increase your online form conversion rates. &lt;/p&gt;

&lt;h3&gt;
  
  
  Ready to Start?
&lt;/h3&gt;

&lt;p&gt;Get started by creating your &lt;a href="https://getform.io/?ref=devto"&gt;first form endpoint on Getform&lt;/a&gt; and start increasing your form conversion rates while Getform is handling your form backends.&lt;/p&gt;

&lt;p&gt;If you like this article, then follow Getform on &lt;a href="https://facebook.com/getformio"&gt;Facebook&lt;/a&gt; and &lt;a href="https://twitter.com/getformio"&gt;Twitter&lt;/a&gt; for more updates from our blog.&lt;/p&gt;

&lt;p&gt;Thank you for reading! We keep enhancing Getform by listening to you, leave us your feature requests at &lt;a href="https://getform.nolt.io"&gt;Nolt&lt;/a&gt; or vote on the existing ones.&lt;/p&gt;

&lt;p&gt;Reach me out by sending an email to &lt;a href="mailto:mertcan@getform.io"&gt;mertcan@getform.io&lt;/a&gt;.&lt;br&gt;
I would be happy to connect with dev.to community!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>webforms</category>
      <category>ux</category>
      <category>design</category>
    </item>
  </channel>
</rss>
