目前的网址是: http://localhost:8000/?sort=age 我在页面中有一个过滤器。
<form method="GET">
Filter By Name:<input name="filter" id="filter" type="text"/>
<input type="submit" value="Filter">
</form>
当应用过滤器时,我希望网址变为: http://localhost:8000/?sort=age&filter=maria 但它将网址更改为: http://localhost:8000/?filter=maria
有没有办法保留当前参数?
答案 0 :(得分:1)
表单提交仅添加表单中包含的查询参数,它们不考虑URL / post中已存在的参数或相关表单之外的标记。请查看relevant page in the specification以获取有关提交内容的确切详细信息。
关于如何保留它们,最简单的方法是服务器在表单中包含额外的隐藏输入,并保留当前参数:
<form method="GET">
Filter By Name:<input name="filter" id="filter" type="text"/>
<input type="hidden" name="sort" value="age"/>
<input type="submit" value="Filter">
</form>
第二种选择是使用Javascript。提交按钮可以调用一些可以扫描当前URL并添加额外参数的脚本。不完全是微不足道的,所以如果需要更多的控制,我会把它作为第二选择。