<?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: Sankar Bala</title>
    <description>The latest articles on DEV Community by Sankar Bala (@sankarbala).</description>
    <link>https://dev.to/sankarbala</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%2F456722%2F2069d660-a616-4c2b-8898-28e89736baf2.jpg</url>
      <title>DEV Community: Sankar Bala</title>
      <link>https://dev.to/sankarbala</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sankarbala"/>
    <language>en</language>
    <item>
      <title>Create a multi step registration from.</title>
      <dc:creator>Sankar Bala</dc:creator>
      <pubDate>Sat, 26 Sep 2020 15:40:56 +0000</pubDate>
      <link>https://dev.to/sankarbala/create-a-multi-step-registration-from-1ef7</link>
      <guid>https://dev.to/sankarbala/create-a-multi-step-registration-from-1ef7</guid>
      <description>&lt;p&gt;Probably you have create a registration or any other form. But sometimes your form may be larger than device viewport in this case it is show very bad. So you should divide your form multi part that is called multi step form.&lt;/p&gt;

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

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

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

&lt;p&gt;A multi step form is always user friendly.&lt;/p&gt;

&lt;p&gt;This is very easy. Just follow the code bellow. (form.html, style.css and script.js)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;italics&lt;/em&gt; Here I also use bootstrap 3.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;form.html
&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;div class="wrapper"&amp;gt;
        &amp;lt;form action="" method="POST" role="form"&amp;gt;
            &amp;lt;div class="step step-1 active"&amp;gt;
                &amp;lt;legend&amp;gt;Your personal details&amp;lt;/legend&amp;gt;
                &amp;lt;div class="form-group"&amp;gt;
                    &amp;lt;label for="fname"&amp;gt;First Name&amp;lt;/label&amp;gt;
                    &amp;lt;input type="text" name="fname" for="fname" /&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class="form-group"&amp;gt;
                    &amp;lt;label for="lname"&amp;gt;Last Name&amp;lt;/label&amp;gt;
                    &amp;lt;input type="text" name="lname" for="lname" /&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class="form-group"&amp;gt;
                    &amp;lt;label for="email"&amp;gt;Email&amp;lt;/label&amp;gt;
                    &amp;lt;input type="email" name="email" for="email" /&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class="form-group"&amp;gt;
                    &amp;lt;label for="phone"&amp;gt;Phone&amp;lt;/label&amp;gt;
                    &amp;lt;input type="phone" name="phone" for="phone" /&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;button type="button" value="next" class="nxt-btn btn-warning"&amp;gt;Next&amp;lt;/button&amp;gt;

            &amp;lt;/div&amp;gt;
            &amp;lt;div class="step step-2 "&amp;gt;
                &amp;lt;legend&amp;gt;Your address&amp;lt;/legend&amp;gt;
                &amp;lt;div class="form-group"&amp;gt;
                    &amp;lt;label for="vname"&amp;gt;Vilage&amp;lt;/label&amp;gt;
                    &amp;lt;input type="text" name="vname" for="vname" /&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class="form-group"&amp;gt;
                    &amp;lt;label for="post"&amp;gt;Post office&amp;lt;/label&amp;gt;
                    &amp;lt;input type="text" name="post" for="post" /&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class="form-group"&amp;gt;
                    &amp;lt;label for="thana"&amp;gt;Thana&amp;lt;/label&amp;gt;
                    &amp;lt;input type="text" name="thana" for="thana" /&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class="form-group"&amp;gt;
                    &amp;lt;label for="district"&amp;gt;District&amp;lt;/label&amp;gt;
                    &amp;lt;input type="text" name="district" for="district" /&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;button type="button" value="prew" class="pre-btn btn-danger"&amp;gt;Previous&amp;lt;/button&amp;gt;
                &amp;lt;button type="button" value="next" class="nxt-btn btn-warning"&amp;gt;Next&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;div class="step step-3"&amp;gt;
                &amp;lt;legend&amp;gt;Your Identity&amp;lt;/legend&amp;gt;
                &amp;lt;div class="form-group"&amp;gt;
                    &amp;lt;label for="image"&amp;gt;Photo&amp;lt;/label&amp;gt;
                    &amp;lt;input type="file" name="image" for="image" /&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class="form-group"&amp;gt;
                    &amp;lt;label for="nid"&amp;gt;NID&amp;lt;/label&amp;gt;
                    &amp;lt;input type="text" name="nid" for="nid" /&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;button type="button" value="prew" class="pre-btn btn-danger"&amp;gt;Previous&amp;lt;/button&amp;gt;
                &amp;lt;button type="button" value="submit" class="submit-btn btn-success"&amp;gt;Submit&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;

        &amp;lt;/form&amp;gt;
    &amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;style.css
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;*{
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

body {
  font-family: Georgia, "Times New Roman", Times, serif;
}

.wrapper {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: powderblue;
}

.step { 
    display: none; 
}

.step.active {
  display: block;
  height: 500px;
}
.step {
  clear: both;
}

.form-group {
  width: 100%;
  margin-top: 10px;
}

.form-group input {
  width: 100%;
  border: 1.5px solid rgba(5, 2, 2, 0.4);
  padding: 0px;
  font-size: 18px;
  margin-bottom: 8px;
  border-radius: 4px;
}

button.nxt-btn,
button.pre-btn,
button.submit-btn {
  margin-top: 20px;
  padding: 3px 15px;
  border: none;
  outline: none;
  font-size: 18px;
  cursor: pointer;
}
button.pre-btn {
  float: left;
}
button.nxt-btn,
button.submit-btn {
  float: right;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;*script.js&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const steps = [...document.querySelectorAll(".step")];
const btnList = document.querySelectorAll("button");
const form = document.querySelector("form");


btnList.forEach((button) =&amp;gt; {
    button.addEventListener("click", (e) =&amp;gt; {
        let btnValue = e.target.value;
        let index = 0;
        let active = document.querySelector("form .step.active");
        index = steps.indexOf(active);
        steps[index].classList.remove("active");
        btnValue === "next"
            ? index++
            : btnValue === "prew"
                ? index--
                : alert("Form submited");
        steps[index].classList.add("active");

    });
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>form</category>
      <category>registration</category>
    </item>
  </channel>
</rss>
