<a href="?cate=politics">Politics</a> ~ <a href="?cout=us">United States</a>
我不确定这在PHP中是否可行,也许是JavaScript但我不太了解JS。
我想从多个a href
链接中获取多个GET值。代码在上面。假设我点击政治,然后它会将政治价值添加到网址,然后我会点击美国,我也试图将美国的价值添加到网址中,但是那一刻它只是覆盖了那里的那个。
如果我点击Politics,它会添加?cate=politics
,然后如果我点击美国,它也会添加&cout=us
。所以它会像:?cate=politics&cout=us
。
点击这两个链接时,我正试图在URL中获取两个GET变量。如果它有助于我构建一个可以获取GET变量的过滤器。
答案 0 :(得分:2)
如果我理解你,这将是解决方案:
<a href="cate=politics" onclick="return addToUrl(this.href);">Politics</a> ~
<a href="cout=us" onclick="return addToUrl(this.href);>United States</a>
使用Javascript:
<script>
function addToUrl(str){
location.href = location.href + "?" + str;
return false;
}
</script>
希望这会有所帮助。干杯
答案 1 :(得分:1)
在我看来,最明显的解决方案是将其硬编码到HTML中(使用&符号&
向URL添加多个参数):
<a href="?cate=politics">Politics</a> ~
<a href="?cate=politics&cout=us">United States</a>
否则,您需要一个像onclick
这样的Javascript事件处理程序,但如果您是JS的新手,那么学习曲线可能会对您的迫切需求有点陡峭。
更新(评论后)
在这种情况下,这是一个可以使用的启动器功能:
HTML:
<a href='somewhere.html?foo=1' id='test'>Click this link</a>
使用Javascript:
// $(id) is a common library shortcut to get an element by its id.
$('test').onclick = function() {
$('test').href = $('test').href + '&bar=2';
alert($('test').href);
}
在此之后不确定你的想法。 window.location.href = ...
可能就是你要找的东西吗?
一个重要的注意事项:这种方式不会优雅地降级;如果用户未启用Javascript,您的表单将无法使用。就个人而言,我建议第一个硬编码参数的解决方案。
答案 2 :(得分:1)
这可以在多页加载中实现。加载页面时:
$cate = isset($_GET['cate']) ? $_GET['cate'] : null;
$cout = isset($_GET['cout']) ? $_GET['cout'] : null;
echo '<a href="?'.((empty($cate)) ? null : 'cate='.$cate).((empty($cout)) ? null : ((empty($cout)) ? null : '&').$cout).'">Foo</a>';
“应该”做你正在寻找的事情。
答案 3 :(得分:0)
这不能以这种方式完成。你有两个解决方案:在PHP端动态地制作hrefs(基于树的结构 - 使用递归的最简单方法)或在JavaScript中在浏览器端制作整个“菜单”(我推荐jQuery) - 非常复杂,“机器人”不受支持,问题与浏览器兼容等
也许我没有理解你的问题。也许你期待这个解决方案:
<?php
echo "<a href=\"?cate=politics\">Politics</a>";
$cate = $_GET['cate'];
if ($cate) $cate = "cate=$cate&";
echo "<a href=\"?{$cate}cout=us\">United States</a>";