如何在 Jquery 步中保持同一向导刷新页面?

How to stay on same wizard on refreshing the page in Jquery-Steps?

我正在为我的向导类型表单使用 jQuery-Steps 插件。现在我想在刷新页面时留在同一个向导上。我该怎么做?

初始化jQuery.steps时必须在选项中设置saveState: true

例如:

$("#example-basic").steps({
    headerTag: "h3",
    bodyTag: "section",
    transitionEffect: "slideLeft",
    autoFocus: true,
    saveState: true
});

saveState 选项依赖于 jQuery.cookie 插件。参考:https://github.com/rstaib/jquery-steps/issues/86

同样重要的是,saveState 不能在本地文件系统上运行,由于浏览器限制,它必须从网络服务器提供。


重置状态:

为了在向导完成时重置状态,您必须使用 jQuery 单击第一步 link。然后您可以隐藏向导并显示自定义消息,以免用户感到困惑。

$("#example-basic").steps({
    ...
    onFinished: function( a ) {
        $('#example-basic .steps a:eq(0)').click();
        $('#example-basic').hide();
        $('#custom-message').show();
    }
});

这是我发现在不更改或扩展插件代码的情况下重置状态的唯一方法。