Javascript 单击时存储URL部分,提交时生成URL

Javascript 单击时存储URL部分,提交时生成URL,javascript,jquery,html,Javascript,Jquery,Html,我做了一次搜索,通常都能找到我想要的东西,但没有找到任何运气,这就是为什么我质疑这是否可以做到的原因 对于我们的一家公司CMS,我们控制的内容非常有限,我们应该依靠CMS团队的外部所有者来开发CMS,构建工具、插件等的速度太慢,我们可能需要等待6-12个月才能开发 因此,我们要做的一件事是,当您在第1步、第2步、第3步等中单击按钮时,存储url的一部分。然后在最后单击“提交”,并根据每个步骤中选择的选项构建url结构 例如,一位客户会在第1步中单击“服装”按钮,然后在第2步中单击“T恤”按钮,然

我做了一次搜索,通常都能找到我想要的东西,但没有找到任何运气,这就是为什么我质疑这是否可以做到的原因

对于我们的一家公司CMS,我们控制的内容非常有限,我们应该依靠CMS团队的外部所有者来开发CMS,构建工具、插件等的速度太慢,我们可能需要等待6-12个月才能开发

因此,我们要做的一件事是,当您在第1步、第2步、第3步等中单击按钮时,存储url的一部分。然后在最后单击“提交”,并根据每个步骤中选择的选项构建url结构

例如,一位客户会在第1步中单击“服装”按钮,然后在第2步中单击“T恤”按钮,然后在第3步中单击“阿迪达斯”按钮,最后单击“查看产品”按钮并提交您的选择,将您带到url

/服装/t恤/阿迪达斯

我们的分类页面结构。此外,只需添加到这一点是有可能的,因此在第3步中,您可以选择多个选项,然后再提交,因此,如果您选择3个按钮,它将构建URL

/服装/t恤/阿迪达斯+老板+cp公司

等等


jQuery和实现它的任何帮助都可能做到这一点吗?

这不是jQuery,但这可能会帮助您:

function addToURL(item){
    history.replaceState(history.state, "", location.href.split('?')[0] + "/" + item);
}

请注意,如果用户在修改URL时刷新页面,它将转到该URL,而不是刷新原始页面,因此如果/t-shirts/不是有效链接,它们可能会出现在404页面上。

1:是的,可能2。我们帮助那些显示代码的人:这些步骤是在单独的页面上,还是全部在一个页面上?如果是后者,只需保留一个包含提议URL的JS变量,并在每个步骤后更新该变量。jQuery不一定需要这样做,尽管它可能会使语法更漂亮。你试过什么了吗?这个概念与维护代码中任何变量的状态没有太大区别。我知道jQuery不是一种语言。仍然没有改变这个解决方案不使用jQuery的事实,而OP要求使用jQuery的解决方案;我知道。询问jquery解决方案让我很烦