添加其他值以形成get url的最佳方法

时间:2012-01-21 17:20:45

标签: forms codeigniter url

我很想知道,这是向使用GET方法的表单创建的网址添加其他值的最佳方式...网址看起来像

http://testing.com/results?search_query=landscape&search_filter[]=mountain

我会在结果页面上添加额外的过滤器和分页系统,我想知道哪些是将曾经选择/选择的值添加到网址的最佳方式?因此,如果点击下一个按钮,它会将&page=X添加到网址或/和&sort_by=top_rate

3 个答案:

答案 0 :(得分:0)

您可以使用复选框:

<input type="checkbox" name="search_filter[]" value="mountain" />
<input type="checkbox" name="search_filter[]" value="landscape" />

或多选:

<select multiple="multiple" name="search_filter[]">
  <option value="landscape">Landscape</option>
  <option value="mountain">Mountain</option>
</select>

答案 1 :(得分:0)

我不完全确定我会得到这个问题,但我认为位置对象可能会有所帮助。

尝试使用location.href,然后更改它。浏览器将更改为该新URL。所以你可以得到当前的,然后添加你的东西,将附加的版本设置回location.href。我想这就是你想要的,只要你想让用户的浏览器导航到那个页面。

现代方法允许您使用window.history修改地址栏和标题而无需刷新/导航。

http://www.w3.org/TR/html5-author/history.html#history-0

具体来说,您可能对window.history.pushState感兴趣。这将让他们的后退按钮也能正常工作。 :)

希望这更符合您的要求!

答案 2 :(得分:-2)

您需要在动作脚本中阅读您的网址。

检查网址是否有任何参数。

如果网址有一些参数,则在末尾附加:&amp; newPARAM = newVALUE(您可以添加任意数量的参数)。

如果网址没有参数,则附加到结尾:?newPARAM = newValue