"Form 3"
Bootstrap 3.3.0 Snippet by castcaller

<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="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <!------ Include the above in your HEAD tag ----------> <div class="container"> <div class="row"> <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="Step 1"> <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="Step 2"> <span class="round-tab"> <i class="glyphicon glyphicon-heart"></i> </span> </a> </li> <li role="presentation" class="disabled"> <a href="#step3" data-toggle="tab" aria-controls="step3" role="tab" title="Step 3"> <span class="round-tab"> <i class="glyphicon glyphicon-picture"></i> </span> </a> </li> <li role="presentation" class="disabled"> <a href="#step4" data-toggle="tab" aria-controls="step4" role="tab" title="Step 4"> <span class="round-tab"> <i class="glyphicon glyphicon-comment"></i> </span> </a> </li> <li role="presentation" class="disabled"> <a href="#complete" data-toggle="tab" aria-controls="complete" role="tab" title="Complete"> <span class="round-tab"> <i class="glyphicon glyphicon-ok"></i> </span> </a> </li> </ul> </div> <form role="form" class="form-horizontal"> <div class="tab-content"> <div class="tab-pane active" role="tabpanel" id="step1"> <h3>Personal Details</h3> <div class="form-group"> <label class="col-xs-3 control-label">Name</label> <div class="col-sm-6 col-xs-9"> <input type="text" class="form-control" id="inputPassword" placeholder="John Doe"> </div> </div> <div class="form-group"> <label class="col-xs-3 control-label">Email</label> <div class="col-sm-6 col-xs-9"> <input type="text" class="form-control" id="inputPassword" placeholder="johndoe@email.com"> </div> </div> <div class="form-group"> <label class="col-xs-3 control-label">Phone</label> <div class="col-sm-6 col-xs-9"> <input type="text" class="form-control" id="inputPassword" placeholder="123-123-3322"> </div> </div> <div class="form-group"> <label class="col-xs-3 control-label">Union</label> <div class="col-sm-6 col-xs-9"> <input type="text" class="form-control" id="inputPassword" placeholder="SAG/AFTRA"> </div> </div> <div class="form-group"> <label class="col-xs-3 control-label">Ethnicity</label> <div class="col-sm-6 col-xs-9"> <input type="text" class="form-control" id="inputPassword" placeholder="Caucasian"> </div> </div> <div class="form-group"> <label class="col-xs-3 control-label">Age</label> <div class="col-sm-6 col-xs-9"> <input type="text" class="form-control" id="inputPassword" placeholder="24"> </div> </div> <div class="form-group"> <label class="col-xs-3 control-label">City</label> <div class="col-sm-6 col-xs-9"> <input type="text" class="form-control" id="inputPassword" placeholder="Los Angeles"> </div> </div> <ul class="list-inline pull-right"> <li><a class="btn btn-info btn-lg next-step"> <i class="glyphicon glyphicon-chevron-right" aria-hidden="true"></i> </a> </li> </ul> </div> <div class="tab-pane" role="tabpanel" id="step2"> <h3>Your Stats</h3> <div class="form-group"> <label class="col-xs-3 control-label">Height</label> <div class="col-sm-6 col-xs-9"> <input type="text" class="form-control" id="inputPassword" placeholder="5'10"> </div> </div> <div class="form-group"> <label class="col-xs-3 control-label">Weight</label> <div class="col-sm-6 col-xs-9"> <input type="text" class="form-control" id="inputPassword" placeholder="150 lbs"> </div> </div> <div class="form-group"> <label class="col-xs-3 control-label">Waist</label> <div class="col-sm-6 col-xs-9"> <input type="text" class="form-control" id="inputPassword" placeholder="30"> </div> </div> <div class="form-group"> <label class="col-xs-3 control-label">Eyes</label> <div class="col-sm-6 col-xs-9"> <input type="text" class="form-control" id="inputPassword" placeholder="Brown"> </div> </div> <div class="form-group"> <label class="col-xs-3 control-label">Hair</label> <div class="col-sm-6 col-xs-9"> <input type="text" class="form-control" id="inputPassword" placeholder="Black"> </div> </div> <div class="form-group"> <label class="col-xs-3 control-label">Shoes</label> <div class="col-sm-6 col-xs-9"> <input type="text" class="form-control" id="inputPassword" placeholder="4"> </div> </div> <div class="form-group"> <label class="col-xs-3 control-label">Shirt</label> <div class="col-sm-6 col-xs-9"> <input type="text" class="form-control" id="inputPassword" placeholder="Small"> </div> </div> <ul class="list-inline pull-right"> <li><a class="btn btn-default btn-lg prev-step"> <i class="glyphicon glyphicon-chevron-left text-info" aria-hidden="true"></i> </a> </li> <li> <a class="btn btn-info btn-lg next-step"> <i class="glyphicon glyphicon-chevron-right" aria-hidden="true"></i> </a> </li> </ul> </div> <div class="tab-pane" role="tabpanel" id="step3"> <h3>Upload (3) Photos</h3> <!-- Standar Form --> <h4>Select from your device</h4> <div class="row"> <div class="col-md-offset-3 col-md-6"> <form action="" method="post" enctype="multipart/form-data" id="js-upload-form"> <div class="form-inline"> <div class="form-group"> <input type="file" name="files[]" id="js-upload-files" multiple> </div> <button type="submit" class="btn btn-sm btn-info" id="js-upload-submit">Upload</button> </div> </form> <!-- Drop Zone --> <h4>Or drag and drop below</h4> <div class="upload-drop-zone" id="drop-zone"> Just drag and drop photos here </div> <!-- Progress Bar --> <div class="progress"> <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%;"> <span class="sr-only">60% Complete</span> </div> </div> <!-- Upload Finished --> <div class="js-upload-finished"> <h3>Uploaded photos</h3> <div class="list-group"> <a href="#" class="list-group-item list-group-item-success"><span class="badge alert-success pull-right">Success</span>image-01.jpg</a> <a href="#" class="list-group-item list-group-item-success"><span class="badge alert-success pull-right">Success</span>image-02.jpg</a> </div> </div> </div> </div> <div class="row"> <ul class="list-inline pull-right"> <li><a class="btn btn-default btn-lg prev-step"> <i class="glyphicon glyphicon-chevron-left text-info" aria-hidden="true"></i> </a> </li> <li> <a class="btn btn-info btn-lg next-step"> <i class="glyphicon glyphicon-chevron-right" aria-hidden="true"></i> </a> </li> </ul> </div> </div> <div class="tab-pane" role="tabpanel" id="step4"> <h3>Write a message</h3> <p>Pitch yourself to the recruiter. Make it short, snappy and memorable.</p> <div class="row"> <div class="col-md-offset-3 col-md-6"> <div class="panel"> <div class="panel-body" id="resizable"> <form accept-charset="UTF-8" action="" method="POST" > <textarea id="fullfilled" class="form-control counted" name="message" placeholder="Start writing here..." rows="8" style="margin-bottom:10px;"></textarea> <h6 class="pull-right" id="counter">320 characters remaining</h6> </form> </div> </div> </div> </div> <div class="row"> <h3>Do you want to save your info?</h3> <p>Save time having to manually fill forms each time you submit for casting.</p> <div class="checkbox"> <label> <input type="checkbox"> Yes save my info! </label> </div> </div> <div class="row"> <ul class="list-inline pull-right"> <li><a class="btn btn-default btn-lg prev-step"> <i class="glyphicon glyphicon-chevron-left text-info" aria-hidden="true"></i> </a> </li> <li> <a class="btn btn-info btn-lg next-step"> <i class="glyphicon glyphicon-chevron-right" aria-hidden="true"></i> </a> </li> </ul> </div> </div> <div class="tab-pane" role="tabpanel" id="complete"> <h3>Almost done!</h3> <p>We sent an email to (johndoe@mail.com) to confirm you are authorized to use this email for this application.</p> </div> <div class="clearfix"></div> </div> </form> </div> </section> </div> </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: 20%; } .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%; } } /* layout.css Style */ .upload-drop-zone { height: 100px; border-width: 2px; margin-bottom: 20px; } /* skin.css Style*/ .upload-drop-zone { color: #ccc; border-style: dashed; border-color: #ccc; line-height: 100px; text-align: center } .upload-drop-zone.drop { color: #222; border-color: #222; }
$(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); }); }); function nextTab(elem) { $(elem).next().find('a[data-toggle="tab"]').click(); } function prevTab(elem) { $(elem).prev().find('a[data-toggle="tab"]').click(); } (function($) { /** * attaches a character counter to each textarea element in the jQuery object * usage: $("#myTextArea").charCounter(max, settings); */ $.fn.charCounter = function (max, settings) { max = max || 100; settings = $.extend({ container: "<span></span>", classname: "charcounter", format: "(%1 characters remaining)", pulse: true, delay: 0 }, settings); var p, timeout; function count(el, container) { el = $(el); if (el.val().length > max) { el.val(el.val().substring(0, max)); if (settings.pulse && !p) { pulse(container, true); }; }; if (settings.delay > 0) { if (timeout) { window.clearTimeout(timeout); } timeout = window.setTimeout(function () { container.html(settings.format.replace(/%1/, (max - el.val().length))); }, settings.delay); } else { container.html(settings.format.replace(/%1/, (max - el.val().length))); } }; function pulse(el, again) { if (p) { window.clearTimeout(p); p = null; }; el.animate({ opacity: 0.1 }, 100, function () { $(this).animate({ opacity: 1.0 }, 100); }); if (again) { p = window.setTimeout(function () { pulse(el) }, 200); }; }; return this.each(function () { var container; if (!settings.container.match(/^<.+>$/)) { // use existing element to hold counter message container = $(settings.container); } else { // append element to hold counter message (clean up old element first) $(this).next("." + settings.classname).remove(); container = $(settings.container) .insertAfter(this) .addClass(settings.classname); } $(this) .unbind(".charCounter") .bind("keydown.charCounter", function () { count(this, container); }) .bind("keypress.charCounter", function () { count(this, container); }) .bind("keyup.charCounter", function () { count(this, container); }) .bind("focus.charCounter", function () { count(this, container); }) .bind("mouseover.charCounter", function () { count(this, container); }) .bind("mouseout.charCounter", function () { count(this, container); }) .bind("paste.charCounter", function () { var me = this; setTimeout(function () { count(me, container); }, 10); }); if (this.addEventListener) { this.addEventListener('input', function () { count(this, container); }, false); }; count(this, container); }); }; })(jQuery); $(function() { $(".counted").charCounter(320,{container: "#counter"}); $('form').resizable({ handles: { s: $('#resizable') }, alsoResize: $('textarea') }); });

Related: See More


Questions / Comments: