jqueryrequestsubmitsmart-wizard

how to trigger on jquery.smart wizard Finish button?


Iam very new in jquery. here is jquery from smart wizard:

/ Default Properties and Events
    $.fn.smartWizard.defaults = {
        selected: 0,  // Selected Step, 0 = first step
        keyNavigation: true, // Enable/Disable key navigation(left and right keys are used if enabled)
        enableAllSteps: false,
        transitionEffect: 'fade', // Effect on navigation, none/fade/slide/slideleft
        contentURL:null, // content url, Enables Ajax content loading
        contentCache:true, // cache step contents, if false content is fetched always from ajax url
        cycleSteps: false, // cycle step navigation
        enableFinishButton: false, // make finish button enabled always
        hideButtonsOnDisabled: false, // when the previous/next/finish buttons are disabled, hide them instead?
        errorSteps:[],    // Array Steps with errors
        labelNext:'Next',
        labelPrevious:'Previous',
        labelFinish:'Finish',
        noForwardJumping: false,
        ajaxType: "POST",
        onLeaveStep: null, // triggers when leaving a step
        onShowStep: null,  // triggers when showing a step
        onFinish: null,  // triggers when Finish button is clicked
        includeFinishButton : true   // Add the finish button
    };

})(jQuery);



<script type="text/javascript">
        $(document).ready(function() {
            // Smart Wizard         
            $('#wizard').smartWizard({
                onLeaveStep: leaveAStepCallback,
                onFinish: onFinishCallback
            });

            function leaveAStepCallback(obj, context) {
                debugger;
                alert("Leaving step " + context.fromStep + " to go to step " + context.toStep);
                return validateSteps(context.fromStep); // return false to stay on step and true to continue navigation 
            }

            function onFinishCallback(objs, context) {

                debugger;
                if (validateAllSteps()) {
                    $('form').submit();
                }
            }

            // Your Step validation logic
            function validateSteps(stepnumber) {
                debugger;
                var isStepValid = true;
                // validate step 1
                if (stepnumber == 1) {
                    // Your step validation logic
                    // set isStepValid = false if has errors
                }
                // ...      
            }
            function validateAllSteps() {
                debugger;
                var isStepValid = true;
                // all step validation logic     
                return isStepValid;
            }
        });
</script>

i need some functione for onFinish, where i can send request with many parameters. how to do it?


Solution

  • First of all download the smartWizard.js from https://github.com/mstratman/jQuery-Smart-Wizard then add it in your workspace and give the reference in your html/jsp.

    <script type="text/javascript" src="js/jquery.smartWizard-2.1.js"></script>
    

    then,

    <script type="text/javascript">
    $(document).ready(function(){
        // Smart Wizard     
        $('#wizard').smartWizard();
        //$('#range').colResizable();
    
        function onFinishCallback(){
            $('#wizard').smartWizard('showMessage','Finish Clicked');
        } 
    });
    </script>
    

    Then in the jquery.smartWizard-2.1.js search for onFinish, Just try giving alert and then whatever you want to add you can add it directly in the .js file.