formToWizard example #2

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js"></script>
<script src="https://cdn.rawgit.com/artoodetoo/formToWizard/v0.0.2/jquery.formtowizard.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/validationEngine.jquery.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/jquery.validationEngine.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/languages/jquery.validationEngine-en.min.js"></script>
    <section id="controls">
        <h1>Controls: </h1>
        <input id="txt_stepNo" type="text" placeholder="Enter Step No..." />
        <button id="btn_next">Next [External]</button>
        <button id="btn_prev">Previous [External]</button>
    </section>

    <form id="SignupForm" action="">
        <fieldset>
            <legend>Account information</legend>
            <label for="Name">Name</label>
            <input id="Name" type="text" class="validate[required]" />
            <label for="Email">Email</label>
            <input id="Email" type="text" class="validate[custom[email],required]" />
            <label for="Password">Password</label>
            <input id="Password" type="password" />
        </fieldset>
        <fieldset>
            <legend>Company information</legend>
            <label for="CompanyName">Company Name</label>
            <input id="CompanyName" type="text" class="validate[required]" />
            <label for="Website">Website</label>
            <input id="Website" type="text" />
            <label for="CompanyEmail">CompanyEmail</label>
            <input id="CompanyEmail" type="text" />
        </fieldset>
        <fieldset>
            <legend>Billing information</legend>
            <label for="NameOnCard">Name on Card</label>
            <input id="NameOnCard" type="text" />
            <label for="CardNumber">Card Number</label>
           ...

CSS

body { font-family:Lucida Sans, Arial, Helvetica, Sans-Serif; font-size:13px; margin:20px;}
#header { text-align:center; border-bottom:solid 1px #b2b3b5; margin: 0 0 20px 0; }
fieldset { border:none; width:320px;}
legend { font-size:18px; margin:0px; padding:10px 0px; color:#b0232a; font-weight:bold;}
label { display:block; margin:15px 0 5px;}
input[type=text], input[type=password] { width:300px; padding:5px; border:solid 1px #000;}

button, .prev, .next { background-color:#b0232a; padding:5px 10px; color:#fff; text-decoration:none;}
button:hover, .prev:hover, .next:hover { background-color:#000; text-decoration:none;}
button { border: none; }
#controls { background: #eee; box-shadow: 0 0 16px #999; height: 30px; position: fixed; padding: 10px; top: 0; left: 0; width: 100%; z-index: 1 }
#controls h1 { color: #666; display: inline-block; margin: 0 0 8px 0 }
#controls input[type=text] { border-color: #999; margin: 0 25px; width: 120px }

#steps { margin: 80px 0 0 0 }
.prev{float:left}
.next{float:right}
.steps{list-style:none;width:100%;overflow:hidden;margin:0;padding:0}
.steps li{color:#b0b1b3;font-size:24px;float:left;padding:10px;transition:all .3s;-moz-transition:all .3s;-webkit-transition:all .3s;-o-transition:all .3s}
.steps li span{font-size:11px;display:block}
.steps li.current{color:#000}
.breadcrumb{height:37px}
.breadcrumb li{background:#eee;font-size:14px}
.breadcrumb li.current:after{border-top:18px solid transparent;border-bottom:18px solid transparent;border-left:6px solid #666;content:' ';position:absolute;top:0;right:-6px}
.breadcrumb li.current{background:#666;color:#eee;position:relative}
.breadcrumb li:last-child:after{border:none}

JavaScript

$( function() {
            var $signupForm = $( '#SignupForm' );
            
            $signupForm.validationEngine();
            
            $signupForm.formToWizard({
                submitButton: 'SaveAccount',
                showProgress: true, //default value for showProgress is also true
                nextBtnName: 'Forward >>',
                prevBtnName: '<< Previous',
                showStepNo: false,
                validateBeforeNext: function() {
                    return $signupForm.validationEngine( 'validate' );
                }
            });
            
            
            $( '#txt_stepNo' ).change( function() {
                $signupForm.formToWizard( 'GotoStep', $( this ).val() );
            });
            
            $( '#btn_next' ).click( function() {
                $signupForm.formToWizard( 'NextStep' );
            });
            
            $( '#btn_prev' ).click( function() {
                $signupForm.formToWizard( 'PreviousStep' );
            });
        });