"Form wizard (using tabs)"
Bootstrap 3.3.0 Snippet by chokeholder

<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.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 ----------> <button type="button" class="btn btn-danger" data-dismiss="modal" id="open">OPEN</button> <div class="modal fade" tabindex="-1" role="dialog" id="medarbejder_modal"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title">Opret Medarbejder</h4> </div> <div class="modal-body"> <section> <div class="wizard"> <div class="wizard-inner"> <div class="connecting-line"></div> <ul class="nav nav-tabs" role="tablist"> <li role="presentation" class="active"> <a href="#step1" data-toggle="tab" aria-controls="step1" role="tab" title="Generelle oplysninger"> <span class="round-tab"> <i class="glyphicon glyphicon-user"></i> </span> </a> </li> <li role="presentation" class="disabled"> <a href="#step2" data-toggle="tab" aria-controls="step2" role="tab" title="Ansvarsområder"> <span class="round-tab"> <i class="glyphicon glyphicon-eye-open"></i> </span> </a> </li> <li role="presentation" class="disabled"> <a href="#step3" data-toggle="tab" aria-controls="step3" role="tab" title="Uddannelse og kurser"> <span class="round-tab"> <i class="glyphicon glyphicon-education"></i> </span> </a> </li> <li role="presentation" class="disabled"> <a href="#complete" data-toggle="tab" aria-controls="complete" role="tab" title="Afslut"> <span class="round-tab"> <i class="glyphicon glyphicon-ok"></i> </span> </a> </li> </ul> </div> <form role="form"> <div class="tab-content"> <div class="tab-pane active" role="tabpanel" id="step1"> <div class="panel panel-default"> <div class="panel-heading"><h4 class="text-center">Generelle information om medarbejderen</h4></div> <div class="panel-body"> <input type="hidden" id="employee_id" /> <input type="hidden" id="action" /> <input type="hidden" id="aktiv" /> <div class="form-group"> <label for="navn">Medarbejdernavn:</label> <input type="text" class="form-control" id="navn" placeholder="Indtast navn"> </div> <div class="form-group"> <label for="titel">Titel:</label> <input type="text" class="form-control" id="titel" placeholder="Indtast titel"> </div> <div class="checkbox checkbox-primary"> <input type="checkbox" id="faglig_ansvarlig"> <label for="faglig_ansvarlig"> Faglig ansvarlig </label> </div> </div> </div> <ul class="list-inline pull-right"> <li><button type="button" class="btn btn-primary next-step" id="next_step1" disabled="disabled">Gem og fortsæt</button></li> </ul> </div> <div class="tab-pane" role="tabpanel" id="step2"> <div class="panel panel-default"> <div class="panel-heading"><h4 class="text-center">Ansvarsområder som medarbejder har nødvendige kompetencer og kvalifikationer til at udføre </h4> </div> <div class="panel-body"> <table class="table table-condensed table-striped" id="ansvarsomrade" > <thead> <tr style="font-size:12px"> <th><center>Ledelsesansvar</center></th> <th><center>Vand-sanitet</center></th> <th><center>Afløb</center></th> <th><center>Gas</center></th> <th><center>Varme</center></th> <th><center>Blik</center></th> <th><center>Energi/fejlfinding</center></th> </tr> </thead> <tbody> <tr> <td><input type="text" class="form-control input-sm" id="ledelsesansvar" value="0"></td> <td><input type="text" class="form-control input-sm" id="vand" value="0"></td> <td><input type="text" class="form-control input-sm" id="aflob" value="0"></td> <td><input type="text" class="form-control input-sm" id="gas" value="0"></td> <td><input type="text" class="form-control input-sm" id="varme" value="0"></td> <td><input type="text" class="form-control input-sm" id="blik" value="0"></td> <td><input type="text" class="form-control input-sm" id="energi" value="0"></td> </tr> </tbody> </table> <h5><ins><b>Vurderingsnøgler:</b></ins></h5> <h6><ins>0</ins>: Personen har ingen erfaring inden for området, og må ikke arbejde selvstændigt. Effektiv instruktion og tilsyn nødvendigt</h6> <h6><ins>1</ins>: Personen har kendskab til området. Tilsyn nødvendigt</h6> <h6><ins>2</ins>: Personen har de grundlæggende kompetencer på området i form af uddannelse, træning og erfaring. Må arbejde på opgaven efter instruktion. Tilsyn efter behov</h6> <h6><ins>3</ins>: Personen har den fornødne kompetencer på området i form af uddannelse, træning og erfaring. Instruktion gennemføres efter behov. Ingen tilsyn</h6> <h6><ins>4</ins>: Personen har kompetencerne i form af uddannelse, træning og erfaring til at arbejde selvstændigt uden instruktion og tilsyn. Kan ligeledes udføre sidemandsoplæring</h6> </div> </div> <ul class="list-inline pull-right"> <li><button type="button" class="btn btn-default prev-step">Forrige</button></li> <li><button type="button" class="btn btn-primary next-step" id="next_step2">Gem og fortsæt</button></li> </ul> </div> <div class="tab-pane" role="tabpanel" id="step3"> <div class="panel panel-default"> <div class="panel-heading"><h4 class="text-center">Uddannelse og kurser</h4></div> <div class="panel-body"> <table class="table table-condensed table-striped" id="uddannelse" > <thead> <tr style="font-size:12px"> <th><center>Uddannelse/kurser eller interessant /relevante Projekter personen har deltaget i.</center></th> <th><center>Sted</center></th> <th><center>År</center></th> <th><center>Evt. certifikatnummer Eller udløbsdato</center></th> <th><center>Upload bevis</center></th> </tr> </thead> <tbody> <tr> <td><input type="text" class="form-control input-sm" id="uddannelse1"></td> <td><input type="text" class="form-control input-sm" id="sted1"></td> <td><input type="text" class="form-control input-sm" id="aar1"></td> <td><input type="text" class="form-control input-sm" id="certifikat1"></td> <td><button class="btn btn-primary btn-xs" id="files1" type="button"><span class="badge">0</span></button></td> </tr> <tr> <td><input type="text" class="form-control input-sm" id="uddannelse2"></td> <td><input type="text" class="form-control input-sm" id="sted2"></td> <td><input type="text" class="form-control input-sm" id="aar2"></td> <td><input type="text" class="form-control input-sm" id="certifikat2"></td> <td><button class="btn btn-primary btn-xs" type="button" id="files2"><span class="badge">0</span></button></td> </tr> <tr> <td><input type="text" class="form-control input-sm" id="uddannelse3"></td> <td><input type="text" class="form-control input-sm" id="sted3"></td> <td><input type="text" class="form-control input-sm" id="aar3"></td> <td><input type="text" class="form-control input-sm" id="certifikat3"></td> <td><button class="btn btn-primary btn-xs" type="button" id="files3"><span class="badge">0</span></button></td> </tr> <tr> <td><input type="text" class="form-control input-sm" id="uddannelse4"></td> <td><input type="text" class="form-control input-sm" id="sted4"></td> <td><input type="text" class="form-control input-sm" id="aar4"></td> <td><input type="text" class="form-control input-sm" id="certifikat4"></td> <td><button class="btn btn-primary btn-xs" type="button" id="files4"><span class="badge">0</span></button></td> </tr> <tr> <td><input type="text" class="form-control input-sm" id="uddannelse5"></td> <td><input type="text" class="form-control input-sm" id="sted5"></td> <td><input type="text" class="form-control input-sm" id="aar5"></td> <td><input type="text" class="form-control input-sm" id="certifikat5"></td> <td><button class="btn btn-primary btn-xs" type="button" id="files5"><span class="badge">0</span></button></td> </tr> <tr> <td><input type="text" class="form-control input-sm" id="uddannelse6"></td> <td><input type="text" class="form-control input-sm" id="sted6"></td> <td><input type="text" class="form-control input-sm" id="aar6"></td> <td><input type="text" class="form-control input-sm" id="certifikat6"></td> <td><button class="btn btn-primary btn-xs" type="button" id="files6"><span class="badge">0</span></button></td> </tr> <tr> <td><input type="text" class="form-control input-sm" id="uddannelse7"></td> <td><input type="text" class="form-control input-sm" id="sted7"></td> <td><input type="text" class="form-control input-sm" id="aar7"></td> <td><input type="text" class="form-control input-sm" id="certifikat7"></td> <td><button class="btn btn-primary btn-xs" type="button" id="files7"><span class="badge">0</span></button></td> </tr> <tr> <td><input type="text" class="form-control input-sm" id="uddannelse8"></td> <td><input type="text" class="form-control input-sm" id="sted8"></td> <td><input type="text" class="form-control input-sm" id="aar8"></td> <td><input type="text" class="form-control input-sm" id="certifikat8"></td> <td><button class="btn btn-primary btn-xs" type="button" id="files8"><span class="badge">0</span></button></td> </tr> <tr> <td><input type="text" class="form-control input-sm" id="uddannelse9"></td> <td><input type="text" class="form-control input-sm" id="sted"9></td> <td><input type="text" class="form-control input-sm" id="aar9"></td> <td><input type="text" class="form-control input-sm" id="certifikat9"></td> <td><button class="btn btn-primary btn-xs" type="button" id="files9"><span class="badge">0</span></button></td> </tr> </tbody> </table> </div> </div> <ul class="list-inline pull-right"> <li><button type="button" class="btn btn-default prev-step">Forrige</button></li> <li><button type="button" class="btn btn-primary btn-info-full next-step" id="next_step3">Gem og afslut</button></li> </ul> </div> <div class="tab-pane" role="tabpanel" id="complete"> <h3>Oprettelsen gennemført</h3> <p>Alle oplysningerne blev gemt og du kan lukke vinduet.</p> </div> <div class="clearfix"></div> </div> </form> </div> </section> </div> <div class="modal-footer"> <button type="button" class="btn btn-danger" data-dismiss="modal" id="close_modal">Luk</button> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> </div>
.wizard { margin: 20px auto; background: #fff; } .wizard .nav-tabs { position: relative; margin: 40px auto; margin-bottom: 0; border-bottom-color: #e0e0e0; } .wizard > div.wizard-inner { position: relative; } .connecting-line { height: 2px; background: #e0e0e0; position: absolute; width: 80%; margin: 0 auto; left: 0; right: 0; top: 50%; z-index: 1; } .wizard .nav-tabs > li.active > a, .wizard .nav-tabs > li.active > a:hover, .wizard .nav-tabs > li.active > a:focus { color: #555555; cursor: default; border: 0; border-bottom-color: transparent; } span.round-tab { width: 70px; height: 70px; line-height: 70px; display: inline-block; border-radius: 100px; background: #fff; border: 2px solid #e0e0e0; z-index: 2; position: absolute; left: 0; text-align: center; font-size: 25px; } span.round-tab i{ color:#555555; } .wizard li.active span.round-tab { background: #fff; border: 2px solid #5bc0de; } .wizard li.active span.round-tab i{ color: #5bc0de; } span.round-tab:hover { color: #333; border: 2px solid #333; } .wizard .nav-tabs > li { width: 25%; } .wizard li:after { content: " "; position: absolute; left: 46%; opacity: 0; margin: 0 auto; bottom: 0px; border: 5px solid transparent; border-bottom-color: #5bc0de; transition: 0.1s ease-in-out; } .wizard li.active:after { content: " "; position: absolute; left: 46%; opacity: 1; margin: 0 auto; bottom: 0px; border: 10px solid transparent; border-bottom-color: #5bc0de; } .wizard .nav-tabs > li a { width: 70px; height: 70px; margin: 20px auto; border-radius: 100%; padding: 0; } .wizard .nav-tabs > li a:hover { background: transparent; } .wizard .tab-pane { position: relative; padding-top: 50px; } .wizard h3 { margin-top: 0; } @media( max-width : 585px ) { .wizard { width: 90%; height: auto !important; } span.round-tab { font-size: 16px; width: 50px; height: 50px; line-height: 50px; } .wizard .nav-tabs > li a { width: 50px; height: 50px; line-height: 50px; } .wizard li.active:after { content: " "; position: absolute; left: 35%; } }
$(document).ready(function () { //Initialize tooltips $('.nav-tabs > li a[title]').tooltip(); //Wizard $('a[data-toggle="tab"]').on('show.bs.tab', function (e) { var $target = $(e.target); if ($target.parent().hasClass('disabled')) { return false; } }); $(".next-step").click(function (e) { var $active = $('.wizard .nav-tabs li.active'); $active.next().removeClass('disabled'); nextTab($active); }); $(".prev-step").click(function (e) { var $active = $('.wizard .nav-tabs li.active'); prevTab($active); }); $('#medarbejder_modal').on('shown.bs.modal', function () { $('.nav-tabs a.first').tab('show'); $('.nav-tabs a.first').attr({"class": "active"}); validateInput(); }); $("#navn, #titel").on('input', function() { validateInput(); }); function validateInput() { if($("#navn").val() && $("#titel").val()) { $("#next_step1").removeAttr("disabled"); } else { $("#next_step1").attr("disabled","disabled"); } } $("#next_step1").click(function(){ saveEmployee(true); // make sure that next time we press next we UPDATE and do not call create $('input[id=action]').val('edit'); }); $("#next_step2, #next_step3").click(function(){ saveEmployee(true); }); // fOR TEST button only $("#open").click(function() { $('#medarbejder_modal').modal({backdrop: 'static',keyboard: false}) }) }); function nextTab(elem) { $(elem).next().find('a[data-toggle="tab"]').click(); } function prevTab(elem) { $(elem).prev().find('a[data-toggle="tab"]').click(); }

Related: See More


Questions / Comments: