"Step by step form wizard "
Bootstrap 4.0.0 Snippet by mbrondani

<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script> <script src="//code.jquery.com/jquery-1.11.1.min.js"></script> <!------ Include the above in your HEAD tag ----------> <div class="container"> <div class="stepwizard"> <div class="stepwizard-row setup-panel"> <div class="stepwizard-step col-xs-3"> <a href="#step-1" type="button" class="btn btn-success btn-circle">1</a> <p class="mr-5"><small>Housing & Food</small></p> </div> <div class="stepwizard-step col-xs-3"> <a href="#step-2" type="button" class="btn btn-default btn-circle" disabled="disabled">2</a> <p><small>Food & Utilization</small></p> </div> <div class="stepwizard-step col-xs-3"> <a href="#step-3" type="button" class="btn btn-default btn-circle" disabled="disabled">3</a> <p><small>Child Care & Education</small></p> </div> <div class="stepwizard-step col-xs-3"> <a href="#step-4" type="button" class="btn btn-default btn-circle" disabled="disabled">4</a> <p><small>Employment & Finance</small></p> </div> <div class="stepwizard-step col-xs-3"> <a href="#step-4" type="button" class="btn btn-default btn-circle" disabled="disabled">4</a> <p><small>Personal Safety</small></p> </div> </div> </div> <form role="form"> <div class="panel panel-primary setup-content" id="step-1"> <div class="panel-heading"> <h3 class="panel-title">Housing</h3> </div> <div class="panel-body"> <div class="form-group"> <label class="control-label">What is your Housing situation? </label><br> <input maxlength="100" type="radio" name="housing" /> I do not have housing (I am staying with others, in a hotel, in a shelter,living outside on the street, on a beach, in a car, abandoned<br>building, bus or train station, or in a park) </div> <div class="form-group"> <label class="control-label">Last Name</label> <input maxlength="100" type="radio" /> </div> <button class="btn btn-primary nextBtn pull-right" type="button">Next</button> </div> </div> <div class="panel panel-primary setup-content" id="step-2"> <div class="panel-heading"> <h3 class="panel-title">Destination</h3> </div> <div class="panel-body"> <div class="form-group"> <label class="control-label">Company Name</label> <input maxlength="200" type="text" required="required" class="form-control" placeholder="Enter Company Name" /> </div> <div class="form-group"> <label class="control-label">Company Address</label> <input maxlength="200" type="text" required="required" class="form-control" placeholder="Enter Company Address" /> </div> <button class="btn btn-primary nextBtn pull-right" type="button">Next</button> </div> </div> <div class="panel panel-primary setup-content" id="step-3"> <div class="panel-heading"> <h3 class="panel-title">Schedule</h3> </div> <div class="panel-body"> <div class="form-group"> <label class="control-label">Company Name</label> <input maxlength="200" type="text" required="required" class="form-control" placeholder="Enter Company Name" /> </div> <div class="form-group"> <label class="control-label">Company Address</label> <input maxlength="200" type="text" required="required" class="form-control" placeholder="Enter Company Address" /> </div> <button class="btn btn-primary nextBtn pull-right" type="button">Next</button> </div> </div> <div class="panel panel-primary setup-content" id="step-4"> <div class="panel-heading"> <h3 class="panel-title">Cargo</h3> </div> <div class="panel-body"> <div class="form-group"> <label class="control-label">Company Name</label> <input maxlength="200" type="text" required="required" class="form-control" placeholder="Enter Company Name" /> </div> <div class="form-group"> <label class="control-label">Company Address</label> <input maxlength="200" type="text" required="required" class="form-control" placeholder="Enter Company Address" /> </div> <button class="btn btn-success pull-right" type="submit">Finish!</button> </div> </div> </form> </div>
/* Latest compiled and minified CSS included as External Resource*/ /* Optional theme */ /*@import url('//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-theme.min.css');*/ body { margin-top:30px; } .stepwizard-step p { margin-top: 0px; color:#666; } .stepwizard-row { display: table-row; } .stepwizard { display: table; width: 100%; position: relative; } .stepwizard-step button[disabled] { /*opacity: 1 !important; filter: alpha(opacity=100) !important;*/ } .stepwizard .btn.disabled, .stepwizard .btn[disabled], .stepwizard fieldset[disabled] .btn { opacity:1 !important; color:#bbb; } .stepwizard-row:before { top: 14px; bottom: 0; position: absolute; content:" "; width: 100%; height: 1px; background-color: #ccc; z-index: 0; } .stepwizard-step { display: table-cell; text-align: center; position: relative; } .btn-circle { width: 30px; height: 30px; text-align: center; padding: 6px 0; font-size: 12px; line-height: 1.428571429; border-radius: 15px; }
$(document).ready(function () { var navListItems = $('div.setup-panel div a'), allWells = $('.setup-content'), allNextBtn = $('.nextBtn'); allWells.hide(); navListItems.click(function (e) { e.preventDefault(); var $target = $($(this).attr('href')), $item = $(this); if (!$item.hasClass('disabled')) { navListItems.removeClass('btn-success').addClass('btn-default'); $item.addClass('btn-success'); allWells.hide(); $target.show(); $target.find('input:eq(0)').focus(); } }); allNextBtn.click(function () { var curStep = $(this).closest(".setup-content"), curStepBtn = curStep.attr("id"), nextStepWizard = $('div.setup-panel div a[href="#' + curStepBtn + '"]').parent().next().children("a"), curInputs = curStep.find("input[type='text'],input[type='url']"), isValid = true; $(".form-group").removeClass("has-error"); for (var i = 0; i < curInputs.length; i++) { if (!curInputs[i].validity.valid) { isValid = false; $(curInputs[i]).closest(".form-group").addClass("has-error"); } } if (isValid) nextStepWizard.removeAttr('disabled').trigger('click'); }); $('div.setup-panel div a.btn-success').trigger('click'); });

Related: See More


Questions / Comments: