1

I've been having problem creating a Jquery Steps Form template as displayed on the website i've followed through but still have a template that displays incorrectly, please can i have some help.

Code is as displayed below:

<!DOCTYPE html>
<html>
    <head>
        <title>Demo</title>
        <meta charset="utf-8">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
        <link rel="stylesheet" type="text/css" href="css/jquery.steps.css">
        <script src="js/jquery.steps.js"></script>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css">
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
    </head>
    <body>
        <script>
            $("#wizard").steps();           

            var form = $("#example-advanced-form").show();

            form.steps({
                headerTag: "h3",
                bodyTag: "fieldset",
                transitionEffect: "slideLeft",
                onStepChanging: function (event, currentIndex, newIndex)
                {
                    // Allways allow previous action even if the current form is not valid!
                    if (currentIndex > newIndex)
                    {
                        return true;
                    }
                    // Forbid next action on "Warning" step if the user is to young
                    if (newIndex === 3 && Number($("#age-2").val()) < 18)
                    {
                        return false;
                    }
                    // Needed in some cases if the user went back (clean up)
                    if (currentIndex < newIndex)
                    {
                        // To remove error styles
                        form.find(".body:eq(" + newIndex + ") label.error").remove();
                        form.find(".body:eq(" + newIndex + ") .error").removeClass("error");
                    }
                    form.validate().settings.ignore = ":disabled,:hidden";
                    return form.valid();
                },
                onStepChanged: function (event, currentIndex, priorIndex)
                {
                    // Used to skip the "Warning" step if the user is old enough.
                    if (currentIndex === 2 && Number($("#age-2").val()) >= 18)
                    {
                        form.steps("next");
                    }
                    // Used to skip the "Warning" step if the user is old enough and wants to the previous step.
                    if (currentIndex === 2 && priorIndex === 3)
                    {
                        form.steps("previous");
                    }
                },
                onFinishing: function (event, currentIndex)
                {
                    form.validate().settings.ignore = ":disabled";
                    return form.valid();
                },
                onFinished: function (event, currentIndex)
                {
                    alert("Submitted!");
                }
            }).validate({
                errorPlacement: function errorPlacement(error, element) { element.before(error); },
                rules: {
                    confirm: {
                        equalTo: "#password-2"
                    }
                }
            });


        </script>
        <div id="wizard">
            <form id="example-advanced-form" action="#">
                <h3>Account</h3>
                <fieldset>
                    <legend>Account Information</legend>
                    <label for="userName-2">User name *</label>
                    <input id="userName-2" name="userName" type="text" class="required">
                    <label for="password-2">Password *</label>
                    <input id="password-2" name="password" type="text" class="required">
                    <label for="confirm-2">Confirm Password *</label>
                    <input id="confirm-2" name="confirm" type="text" class="required">
                    <p>(*) Mandatory</p>
                </fieldset> 
                <h3>Profile</h3>
                <fieldset>
                    <legend>Profile Information</legend>     
                    <label for="name-2">First name *</label>
                    <input id="name-2" name="name" type="text" class="required">
                    <label for="surname-2">Last name *</label>
                    <input id="surname-2" name="surname" type="text" class="required">
                    <label for="email-2">Email *</label>
                    <input id="email-2" name="email" type="text" class="required email">
                    <label for="address-2">Address</label>
                    <input id="address-2" name="address" type="text">
                    <label for="age-2">Age (The warning step will show up if age is less than 18) *</label>
                    <input id="age-2" name="age" type="text" class="required number">
                    <p>(*) Mandatory</p>
                </fieldset>         
                <h3>Warning</h3>
                <fieldset>
                    <legend>You are to young</legend>
                    <p>Please go away ;-)</p>
                </fieldset> 
                <h3>Finish</h3>
                <fieldset>
                    <legend>Terms and Conditions</legend>         
                    <input id="acceptTerms-2" name="acceptTerms" type="checkbox" class="required"> <label for="acceptTerms-2">I agree with the Terms and Conditions.</label>
                </fieldset>
            </form>
        </div>
    </body>
</html>  
GaryM1981
  • 21
  • 1
  • 2
  • 6

2 Answers2

2

In case you have not found the answer yet you need the basic CSS

https://github.com/rstaib/jquery-steps/blob/master/demo/css/jquery.steps.css

Truly bizarre that the CSS is not in the normal distribution nor ANY mention of the CSS needed in Steps documentation http://www.jquery-steps.com/Documentation except useful modifications available but no basic CSS. I have never come accross that before.

BeNice
  • 2,165
  • 2
  • 23
  • 38
  • Thanks for the reply but i had to try something different. – GaryM1981 Aug 19 '16 at 12:12
  • Interested if u used something that was an alternative to Jquery Steps. Have looked at it but it is a bit of a a pain. Are you using an alternative, building your own solution or have you just beaten it into submission? – BeNice Aug 21 '16 at 10:12
0

you needed to change this:

 $("#wizard").steps();           

        var form = $("#example-advanced-form").show();

        form.steps({
            headerTag: "h3",

to this: var form = $("#example-advanced-form").show();

        $("#wizard").steps({
            headerTag: "h3",
PowerMan2015
  • 1,307
  • 5
  • 19
  • 40