"Simple Multi-Step Form"
Bootstrap 4.1.1 Snippet by tieusuquay79

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<!------ Include the above in your HEAD tag ---------->
<div class="container mt-5">
<div class="row d-flex justify-content-center align-items-center">
<div class="col-md-6">
<form id="regForm">
<h1 id="register">Donate</h1>
<div class="all-steps" id="all-steps"> <span class="step"></span> <span class="step"></span> <span class="step"></span> <span class="step"></span> </div>
<div class="tab">
<h3>Donation Type:</h3> <label class="container">One time <input type="radio" checked="checked" name="radio"> <span class="checkmark"></span> </label> <label class="container">Recurring <input type="radio" name="radio"> <span class="checkmark"></span> </label>
<p><input type="text" placeholder="Amount" oninput="this.className = ''" name="amount"></p>
</div>
<div class="tab">
<p><input placeholder="First Name" oninput="this.className = ''" name="first"></p>
<p><input placeholder="Last Name" oninput="this.className = ''" name="last"></p>
<p><input placeholder="Email" oninput="this.className = ''" name="email"></p>
<p><input placeholder="Phone" oninput="this.className = ''" name="phone"></p>
<p><input placeholder="Street Address" oninput="this.className = ''" name="address"></p>
<p><input placeholder="City" oninput="this.className = ''" name="city"></p>
<p><input placeholder="State" oninput="this.className = ''" name="state"></p>
<p><input placeholder="Country" oninput="this.className = ''" name="country"></p>
</div>
<div class="tab">
<p><input placeholder="Credit Card #" oninput="this.className = ''" name="email"></p>
<p>Exp Month <select id="month">
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
body {
background: #eee
}
#regForm {
background-color: #ffffff;
margin: 0px auto;
font-family: Raleway;
padding: 40px;
border-radius: 10px
}
h1 {
text-align: center
}
input {
padding: 10px;
width: 100%;
font-size: 17px;
font-family: Raleway;
border: 1px solid #aaaaaa
}
input.invalid {
background-color: #ffdddd
}
.tab {
display: none
}
button {
background-color: #4CAF50;
color: #ffffff;
border: none;
padding: 10px 20px;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//your javascript goes here
var currentTab = 0;
document.addEventListener("DOMContentLoaded", function(event) {
showTab(currentTab);
});
function showTab(n) {
var x = document.getElementsByClassName("tab");
x[n].style.display = "block";
if (n == 0) {
document.getElementById("prevBtn").style.display = "none";
} else {
document.getElementById("prevBtn").style.display = "inline";
}
if (n == (x.length - 1)) {
document.getElementById("nextBtn").innerHTML = "Submit";
} else {
document.getElementById("nextBtn").innerHTML = "Next";
}
fixStepIndicator(n)
}
function nextPrev(n) {
var x = document.getElementsByClassName("tab");
if (n == 1 && !validateForm()) return false;
x[currentTab].style.display = "none";
currentTab = currentTab + n;
if (currentTab >= x.length) {
// document.getElementById("regForm").submit();
// return false;
//alert("sdf");
document.getElementById("nextprevious").style.display = "none";
document.getElementById("all-steps").style.display = "none";
document.getElementById("register").style.display = "none";
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Related: See More


Questions / Comments: