1

我在 jquery 中很新。这是来自智能向导的 jquery :

/ 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>

我需要一些用于 onFinish 的功能,我可以在其中发送带有许多参数的请求。怎么做?

4

5 回答 5

5

首先从https://github.com/mstratman/jQuery-Smart-Wizard下载 smartWizard.js, 然后将其添加到您的工作区并在您的 html/jsp 中提供参考。

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

然后,

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

    function onFinishCallback(){
        $('#wizard').smartWizard('showMessage','Finish Clicked');
    } 
});
</script>

然后在 jquery.smartWizard-2.1.js 中搜索 onFinish,只需尝试发出警报,然后您要添加的任何内容都可以直接添加到 .js 文件中。

于 2013-09-26T09:50:05.220 回答
0

You can listen for an onclick event on the toolbar extra buttons.

// Toolbar extra buttons
var btnFinish = $("<button></button>")
  .text("Finish")
  .addClass("btn btn-primary")
  .on("click", function () {
    alert("Finish Clicked");
  });
var btnCancel = $("<button></button>")
  .text("Cancel")
  .addClass("btn btn-secondary")
  .on("click", function () {
    $("#wizard").smartWizard("reset");
  });

// Initiate wizard
$("#wizard").smartWizard({
  selected: 0,
  theme: "default",
  autoAdjustHeight: true,
  transition: {
    animation: "slide-horizontal",
  },
  toolbarSettings: {
    toolbarPosition: "bottom",
    toolbarExtraButtons: [btnFinish, btnCancel],
  },
});
于 2021-08-16T21:22:40.380 回答
0

添加您的自定义功能,如下所示。

onFinish: function () { 
    alert("Finish Clicked!") 
},  // triggers when Finish button is clicked
于 2017-02-12T08:26:30.367 回答
-1

Use the following code, your form will be submitted. I hope this will help you.

var Myform=$('#saveForm');
    $(document).on('click','.btn-finish',function(e){
        $('#saveForm')[0].submit();
    });
于 2017-03-27T05:16:18.953 回答
-1

// 更改完成按钮的标签

$('#wizard').smartWizard.defaults.labelFinish = "确认并购买";

于 2016-04-12T05:41:49.147 回答